Documentation
¶
Overview ¶
templify is a tool to be used with 'go generate' to embed external template files into Go code.
Scenario ¶
An often used scenario in developing go applications is to generate text (e.g. html pages) using the Go template packages. You have two choices: either editing the template in a dedicated file and to read this file at runtime from your application. Or you add a "big" string containing the template to the source of your app and parse this string to create the template.
If you want to create a single file application, than the more handy solution with a dedicated file is not desirable. On the other hand to edit a complex html template within a Go string in the source is very uncomfortable.
templify allows you to edit your template in an extra file and to generate an Go source file containing the embedded string.
Usage ¶
Simply add a line
//go:generate templify mytemplate.file
for each template you want to embed. Every time you run a 'go generate' in the corresponding folder, the file 'mytemplate.go' will be created. It contains a function 'mytemplateTemplate' returning the template string.
You may use 'templify mytemplate.file' directly on the command line.
Switches ¶
Usage of templify: 'templify [switches] templatefilename'
-e
export the generated, the template returning function. Default (false) means
the function will not be exported.
-f
no formatting of the generated source. Default false means source will be
formatted with gofmt.
-n string
name of generated, the template returning function. Its name will have
'Template' attached. Will be set to $(basename -s .ext outputfile) if empty
(default).
-o string
name of output file. Defaults to name of template file excluding
extension + '.go'.
-p string
name of package to be used in generated code (default "main").
-t string
name of alternate code generation template file. If empty (default), then
the embedded template will be used. Template variables supplied are:
.Name, .Package, .Content