Documentation ¶
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Generator ¶
type Generator struct {
// contains filtered or unexported fields
}
A Generator handles generating Go code from Twig templates.
func NewGenerator ¶
NewGenerator creates a new code generator using the given Loader.
Example ¶
loader := &stick.MemoryLoader{ Templates: map[string]string{ "layout.twig": `Hello, {% block name %}{% endblock %}!`, "test.twig": `{% extends 'layout.twig' %}{% block name %}World{% endblock %}`, }, } g := stickgen.NewGenerator("views", loader) output, err := g.Generate("test.twig") if err != nil { fmt.Printf("An error occured: %s", err.Error()) return } fmt.Println(output)
Output: // Code generated by stickgen. // DO NOT EDIT! package views import ( "github.com/tyler-sommer/stick" "io" "fmt" ) func blockTestTwigName(env *stick.Env, output io.Writer, ctx map[string]stick.Value) { // line 1, offset 43 in test.twig fmt.Fprint(output, `World`) } func TemplateTestTwig(env *stick.Env, output io.Writer, ctx map[string]stick.Value) { // line 1, offset 0 in layout.twig fmt.Fprint(output, `Hello, `) // line 1, offset 10 in layout.twig blockTestTwigName(env, output, ctx) // line 1, offset 37 in layout.twig fmt.Fprint(output, `!`) }
Click to show internal directories.
Click to hide internal directories.