From f348728153f8c9199536a5c18c2f49f77f54aba5 Mon Sep 17 00:00:00 2001 From: thinkpadmaster Date: Mon, 28 Aug 2023 09:48:45 -0500 Subject: Write combineData fuct to allow for easier data access in templates --- render.go | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) (limited to 'render.go') diff --git a/render.go b/render.go index fe6c2f1..83416f5 100644 --- a/render.go +++ b/render.go @@ -2,6 +2,7 @@ package main import ( "net/http" + "strings" "text/template" ) @@ -11,10 +12,33 @@ func renderTemplate(w http.ResponseWriter, tmplPath string, p *Posts) (err error return err } - err = t.Execute(w, p) + data := combineData(tmplPath, p) + + err = t.Execute(w, data) if err != nil { return err } return nil } + +func combineData(path string, p *Posts) map[string]interface{} { + splitPath := strings.Split(path, "/") + + data := make(map[string]interface{}) + + if splitPath[0] == "main" { + switch splitPath[1] { + case "about": + data["Page"] = splitPath[1] + default: + data["Page"] = splitPath[1] + data["Posts"] = p + } + } else { + data["Page"] = splitPath[0] + data["Post"] = p.Contents[0] + } + + return data +} -- cgit v1.2.3