aboutsummaryrefslogtreecommitdiff
path: root/template.go
diff options
context:
space:
mode:
authorSimon Ser <contact@emersion.fr>2019-12-09 17:54:24 +0100
committerSimon Ser <contact@emersion.fr>2019-12-09 17:54:24 +0100
commit76599232dc8f652e04dfc62258c8707c00f8b7fc (patch)
tree5534451af628a128c1916c7a82df2d3f00b57308 /template.go
parentf42cb45457cc0b581a731745593caeed7b770849 (diff)
downloadalps-76599232dc8f652e04dfc62258c8707c00f8b7fc.tar.gz
alps-76599232dc8f652e04dfc62258c8707c00f8b7fc.zip
Add a Lua API to set template filters
Diffstat (limited to 'template.go')
-rw-r--r--template.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/template.go b/template.go
index a4c3ee0..2cce5a3 100644
--- a/template.go
+++ b/template.go
@@ -27,15 +27,20 @@ func (t *tmpl) Render(w io.Writer, name string, data interface{}, ectx echo.Cont
return t.t.ExecuteTemplate(w, name, data)
}
-func loadTemplates(logger echo.Logger, themeName string) (*tmpl, error) {
- base, err := template.New("").Funcs(template.FuncMap{
+func loadTemplates(logger echo.Logger, themeName string, plugins []Plugin) (*tmpl, error) {
+ base := template.New("").Funcs(template.FuncMap{
"tuple": func(values ...interface{}) []interface{} {
return values
},
"pathescape": func(s string) string {
return url.PathEscape(s)
},
- }).ParseGlob("public/*.html")
+ })
+ for _, p := range plugins {
+ base = base.Funcs(p.Filters())
+ }
+
+ base, err := base.ParseGlob("public/*.html")
if err != nil {
return nil, err
}