aboutsummaryrefslogtreecommitdiff
path: root/home.go
diff options
context:
space:
mode:
authorTim Keller <tjkeller.xyz>2025-05-24 12:52:32 -0500
committerTim Keller <tjkeller.xyz>2025-05-24 12:52:32 -0500
commitbcf66d92d664dd707937ae866830a6bee0751745 (patch)
tree5c1f7ecc037b53b434befe71509cc3009beaf3d7 /home.go
parent6b0385c495b246859d27bfa75e1bd4dfa45c2be2 (diff)
downloadmintube-master.tar.xz
mintube-master.zip
cleanup all go code and add an index/home page that is composed from the readme fileHEADmaster
Diffstat (limited to 'home.go')
-rw-r--r--home.go43
1 files changed, 43 insertions, 0 deletions
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()
+}