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
This commit is contained in:
Simon Ser 2020-06-10 22:46:42 +02:00
parent 522454e009
commit 1f9fe0b169
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
3 changed files with 21 additions and 24 deletions

View file

@ -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)
},
}

View file

@ -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
}

View file

@ -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)