Documentation ¶
Overview ¶
Package template is a thin wrapper around the standard html/template and text/template packages that implements a convenient registry to load and cache templates on the fly concurrently.
It was created to assist the JSVM plugin HTML rendering, but could be used in other Go code.
Example:
registry := template.NewRegistry() html1, err := registry.LoadFiles( // the files set wil be parsed only once and then cached "layout.html", "content.html", ).Render(map[string]any{"name": "John"}) html2, err := registry.LoadFiles( // reuse the already parsed and cached files set "layout.html", "content.html", ).Render(map[string]any{"name": "Jane"})
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Registry ¶
type Registry struct {
// contains filtered or unexported fields
}
Registry defines a templates registry that is safe to be used by multiple goroutines.
Use the Registry.Load* methods to load templates into the registry.
func NewRegistry ¶
func NewRegistry() *Registry
NewRegistry creates and initializes a new blank templates registry.
Use the Registry.Load* methods to load templates into the registry.
func (*Registry) LoadFS ¶
LoadString caches (if not already) the specified fs and globPatterns pair as single template and returns a ready to use Renderer instance.
There must be at least 1 file matching the provided globPattern(s) (note that most file names serves as glob patterns matching themselves).
func (*Registry) LoadFiles ¶
LoadFiles caches (if not already) the specified filenames set as a single template and returns a ready to use Renderer instance.
There must be at least 1 filename specified.
func (*Registry) LoadString ¶
LoadString caches (if not already) the specified inline string as a single template and returns a ready to use Renderer instance.