removed 'internal' directory

This commit is contained in:
Bronku 2025-06-19 21:48:06 +02:00
parent 8c200a5a6c
commit 65709049d7
42 changed files with 35 additions and 44 deletions

43
server/template.go Normal file
View file

@ -0,0 +1,43 @@
package server
import (
"embed"
"html/template"
"log"
"net/http"
"github.com/Bronku/iroon/logging"
)
//go:embed templates/*
var templates embed.FS
func (h *Server) loadTemplates() {
h.tmpl = make(map[string]*template.Template)
for _, page := range h.routes {
tmpl, err := template.ParseFS(templates,
"templates/layout/*.gohtml",
"templates/"+page.template+".gohtml",
)
if err != nil {
log.Fatal(err)
}
h.tmpl[page.template] = tmpl
}
}
func (h *Server) render(fetch fetcher, templateFile string, templateEntry string) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
data, code, err := fetch(r)
if err != nil {
logging.ErrorPage(err, code).ServeHTTP(w, r)
return
}
err = h.tmpl[templateFile].ExecuteTemplate(w, templateEntry, data)
if err != nil {
logging.ErrorPage(err, http.StatusInternalServerError).ServeHTTP(w, r)
return
}
w.Header().Set("content-type", "text/html")
}
}