aboutsummaryrefslogtreecommitdiff
path: root/backend/data.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/data.go')
-rw-r--r--backend/data.go13
1 files changed, 11 insertions, 2 deletions
diff --git a/backend/data.go b/backend/data.go
index 8b65531..cd1ea9e 100644
--- a/backend/data.go
+++ b/backend/data.go
@@ -12,6 +12,10 @@ var (
regexIsHttp = regexp.MustCompile(`^https?://`)
)
+type dataUsable interface {
+ SetData(*data)
+}
+
type data struct {
title string
Article bool
@@ -24,7 +28,7 @@ type data struct {
Logo *Logo
}
-func (d *data) handleGeneric(w http.ResponseWriter, r *http.Request, name string) {
+func (d *data) handleGeneric(w http.ResponseWriter, r *http.Request, name string, custom dataUsable) {
cfg := r.Context().Value("config").(*Config)
if d.Domain == "" {
d.Domain = cfg.Domain
@@ -64,7 +68,12 @@ func (d *data) handleGeneric(w http.ResponseWriter, r *http.Request, name string
if err != nil {
panic(err)
}
- err = t.ExecuteTemplate(w, "base.html", d)
+ if custom == nil {
+ err = t.ExecuteTemplate(w, "base.html", d)
+ } else {
+ custom.SetData(d)
+ err = t.ExecuteTemplate(w, "base.html", custom)
+ }
if err != nil {
panic(err)
}