aboutsummaryrefslogtreecommitdiff
path: root/cmd/http/render.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/http/render.go')
-rw-r--r--cmd/http/render.go36
1 files changed, 36 insertions, 0 deletions
diff --git a/cmd/http/render.go b/cmd/http/render.go
new file mode 100644
index 0000000..2ce954d
--- /dev/null
+++ b/cmd/http/render.go
@@ -0,0 +1,36 @@
+package main
+
+import (
+ "net/http"
+ "strings"
+ "text/template"
+)
+
+func renderTemplate(w http.ResponseWriter, tmplPath string, p *Posts) (err error) {
+ t, err := template.ParseFiles("html/master.tmpl.html", "html/"+tmplPath+".tmpl.html")
+ if err != nil {
+ return err
+ }
+
+ splitPath := strings.Split(tmplPath, "/")
+
+ data := make(map[string]interface{})
+
+ // If were loading the index, set page to 'Index' and pass through all posts.
+ // Otherwise, set page to 'Projects' and pass through the first post (should only be one
+ // coming in)
+ if splitPath[0] == "index" {
+ data["Page"] = "Index"
+ data["Posts"] = p
+ } else {
+ data["Page"] = "Project"
+ data["Post"] = p.Contents[0]
+ }
+
+ err = t.Execute(w, data)
+ if err != nil {
+ return err
+ }
+
+ return nil
+}