From 545ebd7cebd891f6099d3a62f219d49303af0fca Mon Sep 17 00:00:00 2001 From: Alex Scerba Date: Sat, 9 Nov 2024 23:21:53 -0500 Subject: Move to dynamic blog system --- cmd/http/render.go | 61 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 47 insertions(+), 14 deletions(-) (limited to 'cmd/http/render.go') diff --git a/cmd/http/render.go b/cmd/http/render.go index 585ba31..deaa68e 100644 --- a/cmd/http/render.go +++ b/cmd/http/render.go @@ -2,32 +2,65 @@ package main import ( "net/http" - //"strings" "text/template" ) -func renderTemplate(w http.ResponseWriter, page string, p *Posts) (err error) { +func renderPage(w http.ResponseWriter, page string) (err error) { t, err := template.ParseFiles("html/master.tmpl.html", "html/"+page+".tmpl.html") if err != nil { return err } - //splitPath := strings.Split(page, "/") + err = t.Execute(w, nil) + if err != nil { + return err + } + + return nil +} + +func renderBlog(w http.ResponseWriter, page string, p *Posts, a *Posts) (err error) { + t, err := template.ParseFiles("html/master.tmpl.html", "html/"+page+".tmpl.html") + if err != nil { + return err + } - //data := make(map[string]interface{}) + 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" + if page == "blog2" { data["Posts"] = p - } else { - data["Page"] = "Project" - data["Post"] = p.Contents[0] - } */ + data["Archive"] = a + } - err = t.Execute(w, nil) + err = t.Execute(w, data) + if err != nil { + return err + } + + return nil +} + +func renderPost(w http.ResponseWriter, page string, p *Post) (err error) { + t, err := template.ParseFiles("html/master.tmpl.html", "html/post.tmpl.html", "html/blog/"+page+".tmpl.html") + if err != nil { + return err + } + + err = t.Execute(w, p) + if err != nil { + return err + } + + return nil +} + +func renderArchivePost(w http.ResponseWriter, page string, p *Post) (err error) { + t, err := template.ParseFiles("html/master.tmpl.html", "html/post.tmpl.html", "html/archive/"+page+".tmpl.html") + if err != nil { + return err + } + + err = t.Execute(w, p) if err != nil { return err } -- cgit v1.2.3