Documentation ¶
Index ¶
- type Extemplate
- func (x *Extemplate) Add(name string, fileContents []byte) error
- func (x *Extemplate) Delims(left, right string) *Extemplate
- func (x *Extemplate) ExecuteTemplate(wr io.Writer, name string, data interface{}) error
- func (x *Extemplate) Funcs(funcMap template.FuncMap) *Extemplate
- func (x *Extemplate) Lookup(name string) *template.Template
- func (x *Extemplate) Parse() error
- func (x *Extemplate) ParseDir(root string, extensions []string) error
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Extemplate ¶
type Extemplate struct {
// contains filtered or unexported fields
}
Extemplate holds a reference to all templates and shared configuration like Delims or FuncMap
func (*Extemplate) Delims ¶
func (x *Extemplate) Delims(left, right string) *Extemplate
Delims sets the action delimiters to the specified strings, to be used in subsequent calls to ParseDir. Nested template definitions will inherit the settings. An empty delimiter stands for the corresponding default: {{ or }}. The return value is the template, so calls can be chained.
func (*Extemplate) ExecuteTemplate ¶
func (x *Extemplate) ExecuteTemplate(wr io.Writer, name string, data interface{}) error
ExecuteTemplate applies the template named name to the specified data object and writes the output to wr.
func (*Extemplate) Funcs ¶
func (x *Extemplate) Funcs(funcMap template.FuncMap) *Extemplate
Funcs adds the elements of the argument map to the template's function map. It must be called before templates are parsed It panics if a value in the map is not a function with appropriate return type or if the name cannot be used syntactically as a function in a template. It is legal to overwrite elements of the map. The return value is the Extemplate instance, so calls can be chained.
func (*Extemplate) Lookup ¶
func (x *Extemplate) Lookup(name string) *template.Template
Lookup returns the template with the given name It returns nil if there is no such template or the template has no definition.
func (*Extemplate) Parse ¶
func (x *Extemplate) Parse() error
ParseDir walks the given directory root and parses all files with any of the registered extensions. Default extensions are .html and .tmpl If a template file has {{/* extends "other-file.tmpl" */}} as its first line it will parse that file for base templates. Parsed templates are named relative to the given root directory
func (*Extemplate) ParseDir ¶
func (x *Extemplate) ParseDir(root string, extensions []string) error
ParseDir walks the given directory root and parses all files with any of the registered extensions. Default extensions are .html and .tmpl If a template file has {{/* extends "other-file.tmpl" */}} as its first line it will parse that file for base templates. Parsed templates are named relative to the given root directory
Example ¶
package main import ( "html/template" "os" "strings" "github.com/dannyvankooten/extemplate" ) func main() { xt := extemplate.New().Funcs(template.FuncMap{ "tolower": strings.ToLower, }) _ = xt.ParseDir("examples/", []string{".tmpl"}) _ = xt.ExecuteTemplate(os.Stdout, "child.tmpl", nil) }
Output: Hello from child.tmpl Hello from partials/question.tmpl