From f348728153f8c9199536a5c18c2f49f77f54aba5 Mon Sep 17 00:00:00 2001
From: thinkpadmaster <a.scerba02@gmail.com>
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(-)

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