Commit becd6dac authored by Mitchell Hashimoto's avatar Mitchell Hashimoto

template/interpolate: support custom functions

parent 241f76b5
...@@ -45,6 +45,11 @@ func Funcs(ctx *Context) template.FuncMap { ...@@ -45,6 +45,11 @@ func Funcs(ctx *Context) template.FuncMap {
for k, v := range FuncGens { for k, v := range FuncGens {
result[k] = v(ctx) result[k] = v(ctx)
} }
if ctx != nil {
for k, v := range ctx.Funcs {
result[k] = v
}
}
return template.FuncMap(result) return template.FuncMap(result)
} }
......
...@@ -11,6 +11,9 @@ type Context struct { ...@@ -11,6 +11,9 @@ type Context struct {
// Data is the data for the template that is available // Data is the data for the template that is available
Data interface{} Data interface{}
// Funcs are extra functions available in the template
Funcs map[string]interface{}
// UserVariables is the mapping of user variables that the // UserVariables is the mapping of user variables that the
// "user" function reads from. // "user" function reads from.
UserVariables map[string]string UserVariables map[string]string
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment