90 lines
2.1 KiB
Go
90 lines
2.1 KiB
Go
|
|
package xtemplate
|
||
|
|
|
||
|
|
import (
|
||
|
|
"html/template"
|
||
|
|
"io"
|
||
|
|
"io/fs"
|
||
|
|
"text/template/parse"
|
||
|
|
)
|
||
|
|
|
||
|
|
type htmlTemplate struct {
|
||
|
|
html *template.Template
|
||
|
|
}
|
||
|
|
|
||
|
|
var _ Template = (*htmlTemplate)(nil)
|
||
|
|
|
||
|
|
func (t *htmlTemplate) AddParseTree(name string, tree *parse.Tree) (Template, error) {
|
||
|
|
temp, err := t.html.AddParseTree(name, tree)
|
||
|
|
return &htmlTemplate{temp}, err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Clone() (Template, error) {
|
||
|
|
temp, err := t.html.Clone()
|
||
|
|
return &htmlTemplate{temp}, err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Delims(left, right string) Template {
|
||
|
|
return &htmlTemplate{t.html.Delims(left, right)}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) DefinedTemplates() string {
|
||
|
|
return t.html.DefinedTemplates()
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Execute(wr io.Writer, data any) error {
|
||
|
|
return t.html.Execute(wr, data)
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) ExecuteTemplate(wr io.Writer, name string, data any) error {
|
||
|
|
return t.html.ExecuteTemplate(wr, name, data)
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Funcs(funcMap template.FuncMap) Template {
|
||
|
|
return &htmlTemplate{t.html.Funcs(funcMap)}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Lookup(name string) Template {
|
||
|
|
return &htmlTemplate{t.html.Lookup(name)}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Name() string {
|
||
|
|
return t.html.Name()
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) New(name string) Template {
|
||
|
|
return &htmlTemplate{t.html.New(name)}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Option(opt ...string) Template {
|
||
|
|
return &htmlTemplate{t.html.Option(opt...)}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Parse(text string) (Template, error) {
|
||
|
|
temp, err := t.html.Parse(text)
|
||
|
|
return &htmlTemplate{temp}, err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) ParseFS(fs fs.FS, patterns ...string) (Template, error) {
|
||
|
|
temp, err := t.html.ParseFS(fs, patterns...)
|
||
|
|
return &htmlTemplate{temp}, err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) ParseFiles(filenames ...string) (Template, error) {
|
||
|
|
temp, err := t.html.ParseFiles(filenames...)
|
||
|
|
return &htmlTemplate{temp}, err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) ParseGlob(pattern string) (Template, error) {
|
||
|
|
temp, err := t.html.ParseGlob(pattern)
|
||
|
|
return &htmlTemplate{temp}, err
|
||
|
|
}
|
||
|
|
|
||
|
|
func (t *htmlTemplate) Templates() []Template {
|
||
|
|
htmltemps := t.html.Templates()
|
||
|
|
temps := make([]Template, len(htmltemps))
|
||
|
|
for i := range len(temps) {
|
||
|
|
temps[i] = &htmlTemplate{htmltemps[i]}
|
||
|
|
}
|
||
|
|
return temps
|
||
|
|
}
|