29 lines
472 B
Go
29 lines
472 B
Go
package templates
|
|
|
|
import (
|
|
"embed"
|
|
"fmt"
|
|
"html/template"
|
|
"strings"
|
|
)
|
|
|
|
//go:embed tmpls/*
|
|
var files embed.FS
|
|
|
|
type Template struct {
|
|
*template.Template
|
|
}
|
|
|
|
var tmpls = Template{template.Must(template.ParseFS(files, "tmpls/*"))}
|
|
|
|
func (tmpl Template) renderHtml(name string, data any) template.HTML {
|
|
writer := &strings.Builder{}
|
|
err := tmpl.ExecuteTemplate(writer, name, data)
|
|
|
|
if err != nil {
|
|
fmt.Fprint(writer, err)
|
|
}
|
|
|
|
return template.HTML(writer.String())
|
|
}
|