Files
yadunut.dev/site/templates.go
2024-11-22 15:02:29 -05:00

43 lines
869 B
Go

package site
import (
"embed"
_ "embed"
"fmt"
"html/template"
"io/fs"
"path"
"path/filepath"
"strings"
)
var templates map[string]*template.Template
func init() {
templates = make(map[string]*template.Template)
fs.WalkDir(templateDir, "templates", func(p string, d fs.DirEntry, err error) error {
if d.IsDir() || !strings.HasSuffix(p, ".html") {
return nil
}
basePath := strings.TrimSuffix(path.Base(p), filepath.Ext(p))
templates[basePath] = template.Must(template.ParseFS(templateDir, p, "templates/_layout.html.tmpl"))
return nil
})
fmt.Println("Parsed templates")
for k, ts := range templates {
fmt.Printf("%s: ", k)
for _, t := range ts.Templates() {
fmt.Printf("%s ", t.Name())
}
fmt.Println()
}
fmt.Println()
}
//go:embed templates/*
var templateDir embed.FS
//go:embed static/*
var staticContent embed.FS