From bcf66d92d664dd707937ae866830a6bee0751745 Mon Sep 17 00:00:00 2001 From: Tim Keller Date: Sat, 24 May 2025 12:52:32 -0500 Subject: cleanup all go code and add an index/home page that is composed from the readme file --- home.go | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 home.go (limited to 'home.go') diff --git a/home.go b/home.go new file mode 100644 index 0000000..48feaef --- /dev/null +++ b/home.go @@ -0,0 +1,43 @@ +package main + +import ( + "html/template" + "io/ioutil" + "log" + "net/http" + "github.com/gomarkdown/markdown" +) + +var templateIndexFiles = []string{ "templates/base.html", "templates/index.html" } +var templateIndex = template.Must(template.ParseFiles(templateIndexFiles...)) +var contentHTML template.HTML // just display README.md + +type IndexTemplateData struct { + Content template.HTML +} + +func loadReadme() { + mdBytes, err := ioutil.ReadFile("README.md") + if err != nil { + log.Fatalf("Failed to read markdown file: %v", err) + } + htmlBytes := markdown.ToHTML(mdBytes, nil, nil) + contentHTML = template.HTML(htmlBytes) +} + +func renderIndexTemplate(w http.ResponseWriter) { + if debug { + reloadTemplate(&templateIndex, templateIndexFiles...) + loadReadme() + } + err := templateIndex.Execute(w, IndexTemplateData{ + Content: contentHTML, + }) + if err != nil { + templateError(err, w) + } +} + +func setupHome() { + loadReadme() +} -- cgit v1.2.3