...
Package sprig
Package sprig provides template functions for Go.
This package contains a number of utility functions for working with data
inside of Go `html/template` and `text/template` files.
To add these functions, use the `template.Funcs()` method:
t := templates.New("foo").Funcs(sprig.FuncMap())
Note that you should add the function map before you parse any template files.
In several cases, Sprig reverses the order of arguments from the way they
appear in the standard library. This is to make it easier to pipe
arguments into functions.
See http://masterminds.github.io/sprig/ for more detailed documentation on each of the available functions.
▾ Example
Code:
vars := map[string]interface{}{"Name": " John Jacob Jingleheimer Schmidt "}
tpl := `Hello {{.Name | trim | lower}}`
fmap := TxtFuncMap()
t := template.Must(template.New("test").Funcs(fmap).Parse(tpl))
err := t.Execute(os.Stdout, vars)
if err != nil {
fmt.Printf("Error during template execution: %s", err)
return
}
Output:
Hello john jacob jingleheimer schmidt
func FuncMap() template.FuncMap
FuncMap produces the function map.
Use this to pass the functions into the template engine:
tpl := template.New("foo").Funcs(sprig.FuncMap()))
func GenericFuncMap() map[string]interface{}
GenericFuncMap returns a copy of the basic function map as a map[string]interface{}.
func HermeticHtmlFuncMap() template.FuncMap
HermeticHtmlFuncMap returns an 'html/template'.Funcmap with only repeatable functions.
func HermeticTxtFuncMap() ttemplate.FuncMap
HermeticTxtFuncMap returns a 'text/template'.FuncMap with only repeatable functions.
func HtmlFuncMap() template.FuncMap
HtmlFuncMap returns an 'html/template'.Funcmap
func TxtFuncMap() ttemplate.FuncMap
TxtFuncMap returns a 'text/template'.FuncMap