diff options
Diffstat (limited to 'app/views/render.go')
| -rw-r--r-- | app/views/render.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/views/render.go b/app/views/render.go new file mode 100644 index 0000000..d06a4f7 --- /dev/null +++ b/app/views/render.go @@ -0,0 +1,27 @@ +package views + +import ( + "embed" + "html/template" + "io" +) + +//go:embed **/*.html.tmpl +var fs embed.FS + +func Get(path string) (*template.Template, error) { + return template.ParseFS(fs, path+".html.tmpl") +} + +func Render[T any](w io.Writer, path string, data T) error { + tmpl, err := Get(path) + if err != nil { + return err + } + + if err := tmpl.Execute(w, data); err != nil { + return err + } + + return nil +} |
