package img import ( "embed" "fmt" "html/template" "io" ) //go:embed templates/*.html var TemplateFS embed.FS var Template *template.Template type HTMLView[T any] struct { Title string Username string Data T } func Render[T any](w io.Writer, page string, view *HTMLView[T]) error { pageFile := fmt.Sprintf("templates/%s", page) tmpl, err := template.New("").ParseFS(TemplateFS, "templates/layout.html", pageFile) if err != nil { return err } return tmpl.ExecuteTemplate(w, page, view) }