aboutsummaryrefslogtreecommitdiff
path: root/backend/data.go
diff options
context:
space:
mode:
Diffstat (limited to 'backend/data.go')
-rw-r--r--backend/data.go10
1 files changed, 9 insertions, 1 deletions
diff --git a/backend/data.go b/backend/data.go
index 6ca6020..794b763 100644
--- a/backend/data.go
+++ b/backend/data.go
@@ -92,6 +92,7 @@ func (d *data) handleGeneric(w http.ResponseWriter, r *http.Request, name string
},
"next": func(i int) int { return i + 1 },
"before": func(i int) int { return i - 1 },
+ "first": templateFirst,
}).ParseFS(templates, "templates/components.html", fmt.Sprintf("templates/%s.html", name), "templates/base.html")
if err != nil {
panic(err)
@@ -116,7 +117,7 @@ func (d *data) handleGeneric(w http.ResponseWriter, r *http.Request, name string
func (d *data) handleRSS(w http.ResponseWriter, r *http.Request, custom dataUsable) {
cfg := r.Context().Value(configKey).(*Config)
d.merge(cfg, r)
- t, err := txt.ParseFS(templates, "templates/rss.xml")
+ t, err := txt.New("").Funcs(txt.FuncMap{"first": templateFirst}).ParseFS(templates, "templates/rss.xml")
if err != nil {
panic(err)
}
@@ -197,3 +198,10 @@ func getAsset(ctx context.Context, path string) *assetData {
assets[path] = asset
return asset
}
+
+func templateFirst(a []*Section) *Section {
+ if len(a) == 0 {
+ return nil
+ }
+ return a[0]
+}