summaryrefslogtreecommitdiff
path: root/internal/generator/generator.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-10 10:29:33 +0300
committerPaul Buetow <paul@buetow.org>2026-04-10 10:29:33 +0300
commitb4899f8a322c5df78731e3c5b6d583ec0835d129 (patch)
tree858034ff76e3aaf43c6821f9ae5a18298a978844 /internal/generator/generator.go
parentf40fee44e8f256328ca1419863b5441123a1014e (diff)
Release v0.1.1v0.1.1
Per-theme Web Audio presets; pagination footer bar with reduced height; brutalist splash label tweak; doc updates. Made-with: Cursor
Diffstat (limited to 'internal/generator/generator.go')
-rw-r--r--internal/generator/generator.go26
1 files changed, 14 insertions, 12 deletions
diff --git a/internal/generator/generator.go b/internal/generator/generator.go
index e880ba3..3d1a441 100644
--- a/internal/generator/generator.go
+++ b/internal/generator/generator.go
@@ -17,11 +17,12 @@ import (
// pageData holds the template variables for a single HTML page.
type pageData struct {
- Posts []postView
- PrevPage string // URL of the newer page, empty if none
- NextPage string // URL of the older page, empty if none
- PrevPageJSON template.JS
- NextPageJSON template.JS
+ Posts []postView
+ PrevPage string // URL of the newer page, empty if none
+ NextPage string // URL of the older page, empty if none
+ PrevPageJSON template.JS
+ NextPageJSON template.JS
+ ThemeSoundsJSON template.JS // Web Audio preset for this theme (splash + nav)
}
// postView is a render-friendly representation of a post for the HTML template.
@@ -121,7 +122,7 @@ const indexPageNavURL = "index.html?splash=0"
// writePage renders one HTML page and writes it to cfg.OutputDir.
func writePage(tmpl *template.Template, posts []*post.Post, pageIndex, totalPages int, cfg *config.Config) error {
- data := buildPageData(posts, pageIndex, totalPages)
+ data := buildPageData(posts, pageIndex, totalPages, cfg.Theme)
filename := pageFilename(pageIndex)
path := filepath.Join(cfg.OutputDir, filename)
@@ -140,7 +141,7 @@ func writePage(tmpl *template.Template, posts []*post.Post, pageIndex, totalPage
}
// buildPageData constructs the template data for a single page.
-func buildPageData(posts []*post.Post, pageIndex, totalPages int) pageData {
+func buildPageData(posts []*post.Post, pageIndex, totalPages int, theme string) pageData {
views := make([]postView, len(posts))
for i, p := range posts {
views[i] = postView{
@@ -166,11 +167,12 @@ func buildPageData(posts []*post.Post, pageIndex, totalPages int) pageData {
}
return pageData{
- Posts: views,
- PrevPage: prevPage,
- NextPage: nextPage,
- PrevPageJSON: jsonStringOrNull(prevPage),
- NextPageJSON: jsonStringOrNull(nextPage),
+ Posts: views,
+ PrevPage: prevPage,
+ NextPage: nextPage,
+ PrevPageJSON: jsonStringOrNull(prevPage),
+ NextPageJSON: jsonStringOrNull(nextPage),
+ ThemeSoundsJSON: themeSoundsJSON(theme),
}
}