package templates import ( "html/template" "sync" ) var ( templates *template.Template mu sync.RWMutex ) func Init() { templates = template.Must(template.New("").ParseGlob("internal/templates/*.html")) } func Layout(title, content string) *template.Template { mu.RLock() defer mu.RUnlock() tmpl := template.Must(template.New("layout.html").Parse(` {{ .Title }}
{{ template "content" . }}
`)) return tmpl } func Get(name string) *template.Template { mu.RLock() defer mu.RUnlock() return templates.Lookup(name) }