From 1f9fe0b169c1cf458049b85d7fcee4236f06e5d9 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Wed, 10 Jun 2020 22:46:42 +0200 Subject: [PATCH] Workaround template functions not loaded This is a hacky workaround to make things work until we find a better solution. Closes: https://todo.sr.ht/~emersion/alps/96 --- plugins/base/template.go | 21 +++++++++++++++++++++ plugins/caldav/plugin.go | 17 ----------------- plugins/carddav/plugin.go | 7 ------- 3 files changed, 21 insertions(+), 24 deletions(-) diff --git a/plugins/base/template.go b/plugins/base/template.go index 482674a..7d85db6 100644 --- a/plugins/base/template.go +++ b/plugins/base/template.go @@ -3,11 +3,17 @@ package alpsbase import ( "html/template" "net/url" + "strings" "time" "github.com/emersion/go-imap" ) +const ( + inputDateLayout = "2006-01-02" + inputTimeLayout = "15:04" +) + var templateFuncs = template.FuncMap{ "tuple": func(values ...interface{}) []interface{} { return values @@ -40,4 +46,19 @@ var templateFuncs = template.FuncMap{ return true } }, + "join": func(l []string, sep string) string { + return strings.Join(l, sep) + }, + "formatinputdate": func(t time.Time) string { + if t.IsZero() { + return "" + } + return t.Format(inputDateLayout) + }, + "formatinputtime": func(t time.Time) string { + if t.IsZero() { + return "" + } + return t.Format(inputTimeLayout) + }, } diff --git a/plugins/caldav/plugin.go b/plugins/caldav/plugin.go index e8d14a9..03f8214 100644 --- a/plugins/caldav/plugin.go +++ b/plugins/caldav/plugin.go @@ -2,10 +2,8 @@ package alpscaldav import ( "fmt" - "html/template" "net/http" "net/url" - "time" "git.sr.ht/~emersion/alps" ) @@ -64,21 +62,6 @@ func newPlugin(srv *alps.Server) (alps.Plugin, error) { registerRoutes(&p, u) - p.TemplateFuncs(template.FuncMap{ - "formatinputdate": func(t time.Time) string { - if t.IsZero() { - return "" - } - return t.Format(inputDateLayout) - }, - "formatinputtime": func(t time.Time) string { - if t.IsZero() { - return "" - } - return t.Format(inputTimeLayout) - }, - }) - return p.Plugin(), nil } diff --git a/plugins/carddav/plugin.go b/plugins/carddav/plugin.go index 225c98f..ae1ab14 100644 --- a/plugins/carddav/plugin.go +++ b/plugins/carddav/plugin.go @@ -4,7 +4,6 @@ import ( "fmt" "net/http" "net/url" - "strings" "git.sr.ht/~emersion/alps" alpsbase "git.sr.ht/~emersion/alps/plugins/base" @@ -112,12 +111,6 @@ func newPlugin(srv *alps.Server) (alps.Plugin, error) { registerRoutes(p) - p.TemplateFuncs(map[string]interface{}{ - "join": func(l []string, sep string) string { - return strings.Join(l, sep) - }, - }) - p.Inject("compose.html", func(ctx *alps.Context, _data alps.RenderData) error { data := _data.(*alpsbase.ComposeRenderData)