diff options
author | Tim Keller <tjkeller.xyz> | 2025-05-24 12:52:32 -0500 |
---|---|---|
committer | Tim Keller <tjkeller.xyz> | 2025-05-24 12:52:32 -0500 |
commit | bcf66d92d664dd707937ae866830a6bee0751745 (patch) | |
tree | 5c1f7ecc037b53b434befe71509cc3009beaf3d7 /home.go | |
parent | 6b0385c495b246859d27bfa75e1bd4dfa45c2be2 (diff) | |
download | mintube-master.tar.xz mintube-master.zip |
Diffstat (limited to 'home.go')
-rw-r--r-- | home.go | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -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() +} |