Add public theme
Some checks failed
Build and Push Docker Image / build_and_push (push) Failing after 2m52s

This commit is contained in:
Arnaud Delcasse
2026-01-30 18:44:17 +01:00
parent 2333bba79b
commit b5e722ff9b
23 changed files with 249 additions and 112 deletions

View File

@@ -1,6 +1,7 @@
package renderer
import (
"bytes"
"fmt"
"html/template"
"net/http"
@@ -53,13 +54,22 @@ func (renderer *Renderer) Render(name string, w http.ResponseWriter, r *http.Req
prefixed_files = append(prefixed_files, renderer.templateFile(f))
}
w.WriteHeader(http.StatusOK)
t := template.New(name).Funcs(GetTemplateFuncMap(state.Group, renderer.GlobalConfig, renderer.FileStorage))
t = template.Must(t.ParseFiles(prefixed_files...))
err := t.ExecuteTemplate(w, "main", state)
// Render to buffer first to avoid write timeouts during template execution
var buf bytes.Buffer
err := t.ExecuteTemplate(&buf, "main", state)
if err != nil {
log.Error().Err(err).Msg("issue executing template")
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
_, err = buf.WriteTo(w)
if err != nil {
log.Error().Err(err).Msg("issue writing template to response")
}
}
@@ -69,13 +79,22 @@ func (renderer *Renderer) RenderNoLayout(name string, w http.ResponseWriter, r *
prefixed_files = append(prefixed_files, renderer.templateFile(f))
}
w.WriteHeader(http.StatusOK)
t := template.New(name).Funcs(GetTemplateFuncMap(state.Group, renderer.GlobalConfig, renderer.FileStorage))
t = template.Must(t.ParseFiles(prefixed_files...))
err := t.ExecuteTemplate(w, "main", state)
// Render to buffer first to avoid write timeouts during template execution
var buf bytes.Buffer
err := t.ExecuteTemplate(&buf, "main", state)
if err != nil {
log.Error().Err(err).Msg("issue executing template")
http.Error(w, "Internal Server Error", http.StatusInternalServerError)
return
}
w.WriteHeader(http.StatusOK)
_, err = buf.WriteTo(w)
if err != nil {
log.Error().Err(err).Msg("issue writing template to response")
}
}