node-api/templates.go

30 lines
554 B
Go

package main
import (
"html/template"
"io"
"github.com/gobuffalo/packr"
"github.com/labstack/echo/v4"
)
// Template struct
type Template struct{}
// Render template saved in packr
func (t *Template) Render(w io.Writer, name string, data interface{}, c echo.Context) error {
box := packr.NewBox("./ui")
tmpl, err := template.New(name).Parse(box.String("index.html"))
if err != nil {
panic(err)
}
tmpl, err = tmpl.Parse(box.String(name))
if err != nil {
panic(err)
}
response := tmpl.ExecuteTemplate(w, name, data)
return response
}