Documentation
¶
Overview ¶
Example ¶
package main
import (
"bytes"
"fmt"
"log"
"text/template"
"github.com/rytsh/mugo/fstore"
_ "github.com/rytsh/mugo/fstore/registry"
)
func main() {
tpl := template.New("test").Funcs(fstore.FuncMap())
output := &bytes.Buffer{}
tplParsed, err := tpl.Parse(`{{ $v := codec.JsonDecode (codec.StringToByte .) }}{{ $v.data.name }}`)
if err != nil {
log.Fatal(err)
}
if err := tplParsed.Execute(output, `{"data": {"name": "Hatay"}}`); err != nil {
log.Fatal(err)
}
fmt.Printf("%s", output)
}
Output: Hatay
Example (ExecTemplate) ¶
package main
import (
"bytes"
"fmt"
"log"
"text/template"
"github.com/rytsh/mugo/fstore"
_ "github.com/rytsh/mugo/fstore/registry"
)
func main() {
tpl := template.New("test")
tpl.Funcs(fstore.FuncMap(
fstore.WithSpecificFuncs("execTemplate"),
fstore.WithExecuteTemplate(tpl),
))
output := &bytes.Buffer{}
tplParsed, err := tpl.Parse(`{{ define "ochtend" }}Dag!{{ end }}{{ execTemplate "ochtend" nil | printf }}`)
if err != nil {
log.Fatal(err)
}
if err := tplParsed.Execute(output, nil); err != nil {
log.Fatal(err)
}
fmt.Printf("%s", output)
}
Output: Dag!
Example (Simple) ¶
package main
import (
"bytes"
"fmt"
"log"
"text/template"
"github.com/rytsh/mugo/fstore"
_ "github.com/rytsh/mugo/fstore/registry"
)
func main() {
tpl := template.New("test").Funcs(fstore.FuncMap())
output := &bytes.Buffer{}
tplParsed, err := tpl.Parse(`{{nothing "nothing for nothing" true 42}}`)
if err != nil {
log.Fatal(err)
}
if err := tplParsed.Execute(output, nil); err != nil {
log.Fatal(err)
}
fmt.Printf("%s", output)
}
Example (Sprig) ¶
package main
import (
"bytes"
"fmt"
"log"
"text/template"
"github.com/rytsh/mugo/fstore"
_ "github.com/rytsh/mugo/fstore/registry"
)
func main() {
tpl := template.New("test").Funcs(fstore.FuncMap(
fstore.WithSpecificGroups("sprig"),
))
output := &bytes.Buffer{}
tplParsed, err := tpl.Parse(`{{b64dec "TWVyaGFiYQ=="}}`)
if err != nil {
log.Fatal(err)
}
if err := tplParsed.Execute(output, nil); err != nil {
log.Fatal(err)
}
fmt.Printf("%s", output)
}
Output: Merhaba
Index ¶
- Variables
- func AddFunc(name string, fn any)
- func AddFuncWithOptions(fn func(o Option) (string, any))
- func AddGroup(name string, fn func() map[string]any)
- func AddGroupWithOptions(fn func(o Option) (string, func() map[string]any))
- func AddStruct(name string, s any)
- func AddStructWithOptions(fn func(o Option) (string, any))
- func FuncMap(opts ...OptionFunc) map[string]any
- func GetRegistry() registry
- type Adapter
- type ExecuteTemplate
- type Noop
- type Option
- type OptionFunc
- func WithDisableFuncs(disableFuncs ...string) OptionFunc
- func WithDisableGroups(disableGroups ...string) OptionFunc
- func WithExecuteTemplate(t ExecuteTemplate) OptionFunc
- func WithLog(log Adapter) OptionFunc
- func WithSpecificFuncs(specificFuncs ...string) OptionFunc
- func WithSpecificGroups(specificGroups ...string) OptionFunc
- func WithTrust(trust bool) OptionFunc
- func WithWorkDir(workDir string) OptionFunc
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidType = fmt.Errorf("invalid type") ErrTrustRequired = fmt.Errorf("trust required") )
Functions ¶
func AddFuncWithOptions ¶ added in v0.9.0
func AddGroupWithOptions ¶ added in v0.9.0
func AddStructWithOptions ¶ added in v0.9.0
func FuncMap ¶
func FuncMap(opts ...OptionFunc) map[string]any
func GetRegistry ¶ added in v0.9.0
func GetRegistry() registry
Types ¶
type ExecuteTemplate ¶
type OptionFunc ¶ added in v0.9.0
type OptionFunc func(option *option)
func WithDisableFuncs ¶
func WithDisableFuncs(disableFuncs ...string) OptionFunc
WithDisableFuncs is a option for disableFuncs.
WithDisableFuncs("exec", "execTemplate")
func WithDisableGroups ¶
func WithDisableGroups(disableGroups ...string) OptionFunc
WithDisableGroups is a option for disable direct groups.
WithDisableGroups("sprig")
func WithExecuteTemplate ¶
func WithExecuteTemplate(t ExecuteTemplate) OptionFunc
func WithLog ¶
func WithLog(log Adapter) OptionFunc
func WithSpecificFuncs ¶
func WithSpecificFuncs(specificFuncs ...string) OptionFunc
WithSpecificFuncs is a option for just enable specific functions.
func WithSpecificGroups ¶
func WithSpecificGroups(specificGroups ...string) OptionFunc
WithSpecificGroups is a option for just enable specific direct add groups.
WithSpecificGroups("sprig")
func WithTrust ¶
func WithTrust(trust bool) OptionFunc
WithTrust is a option for trust. Some functions are not safe to use such as "exec".
Click to show internal directories.
Click to hide internal directories.