render test
This commit is contained in:
parent
e43e85dc51
commit
0d1298351f
1 changed files with 28 additions and 0 deletions
28
web/render/render.go
Normal file
28
web/render/render.go
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
package render
|
||||
|
||||
import (
|
||||
"context"
|
||||
"embed"
|
||||
"html/template"
|
||||
"io"
|
||||
)
|
||||
|
||||
type Render struct {
|
||||
fs embed.FS
|
||||
t template.Template
|
||||
}
|
||||
|
||||
func NewRender(efs embed.FS, t template.Template) Render {
|
||||
tr := Render{
|
||||
fs: efs,
|
||||
t: t,
|
||||
}
|
||||
|
||||
return tr
|
||||
}
|
||||
|
||||
func (r Render) Render(ctx context.Context, w io.Writer, name string, data interface{}) error {
|
||||
tmpl := template.Must(r.t.Clone())
|
||||
tmpl = template.Must(tmpl.ParseFS(r.fs, "templates/"+name+".html"))
|
||||
return tmpl.ExecuteTemplate(w, name, data)
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue