HTML in Go's html/template syntax: {{.customer.name}},
{{range .lines}}...{{end}}, {{if .notes}}...{{end}}. Values are
escaped for where they land - text, attributes, URLs (a
javascript: URL becomes #ZgotmplZ), CSS and scripts. Functions:
the html/template builtins (and, or, not, eq, ne, lt,
le, gt, ge, len, index, slice), fixed N value (a
number to N decimal places), mul, add, upper, lower and
printf (widths at most 64). {{define}}, {{template}} and
{{block}} are not supported. A field the template reads that the
data lacks is an error, never an empty string: declare optional
fields in the schema. Rendering is bounded: 100,000 loop iterations,
8 MiB of HTML and 2 s. Saving refuses a source that does not compile.