Home | History | Annotate | Download | only in template

Lines Matching full:template

5 package template
12 "text/template"
13 "text/template/parse"
16 // escapeTemplate rewrites the named template, which must be
21 func escapeTemplate(tmpl *Template, node parse.Node, name string) error {
48 var funcMap = template.FuncMap{
65 // equivEscapers matches contextual escapers to equivalent template builtins.
78 tmpl *Template
82 // derived[c.mangle(name)] maps to a template derived from the template
84 derived map[string]*template.Template
85 // called[templateName] is a set of called mangled template names.
88 // Such edits are not applied immediately in case a template set
89 // executes a given template in different escaping contexts.
96 func newEscaper(t *Template) *escaper {
100 map[string]*template.Template{},
115 // escape escapes a template node.
136 // escapeAction escapes an action template node.
367 // join joins the two contexts of a branch template node. The result is an
414 // escapeBranch escapes a branch template node: "if", "range" and "with".
436 // escapeList escapes a list template node.
483 // escapeTemplate escapes a {{template}} call node.
492 // escapeTree escapes the named template starting in the given context as
495 // Mangle the template name with the input context to produce a reliable
503 t := e.template(name)
505 // Two cases: The template exists but is empty, or has never been mentioned at
510 err: errorf(ErrNoSuchTemplate, node, line, "%q is an incomplete or empty template", name),
515 err: errorf(ErrNoSuchTemplate, node, line, "no such template %q", name),
519 // Use any template derived during an earlier call to escapeTemplate
521 dt := e.template(dname)
523 dt = template.New(dname)
532 // computeOutCtx takes a template and its start context and computes the output
534 template.Template) context {
547 err: errorf(ErrOutputContext, t.Tree.Root, 0, "cannot compute output context for template %s", t.Name()),
553 // escapeTemplateBody escapes the given template assuming the given output
556 func (e *escaper) escapeTemplateBody(c context, t *template.Template) (context, bool) {
570 // We need to assume an output context so that recursive template calls
594 // escapeText escapes a text template node.
723 // editTemplateNode records a change to a {{template}} callee for later commit.
739 // commit applies changes to actions and template calls needed to contextually
743 e.template(name).Funcs(funcMap)
747 panic("error adding derived template")
761 // template returns the named template given a mangled template name.
762 func (e *escaper) template(name string) *template.Template {
771 // to reach the general escaping functions of text/template.
775 template.HTMLEscape(w, b)
780 return template.HTMLEscapeString(s)
786 return template.HTMLEscaper(args...)
791 template.JSEscape(w, b)
796 return template.JSEscapeString(s)
802 return template.JSEscaper(args...)
808 return template.URLQueryEscaper(args...)