summaryrefslogtreecommitdiff
path: root/internal/generator/generator.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-04-11 23:02:09 +0300
committerPaul Buetow <paul@buetow.org>2026-04-11 23:02:09 +0300
commit948f652fabc810ba8166727ba9f0daed555830d7 (patch)
treecf5beaee706ab287c3700057daf04c6879616317 /internal/generator/generator.go
parent73a41c7e2fab3a125ab318934b7d486744b66eb3 (diff)
Release v0.1.6v0.1.6
Diffstat (limited to 'internal/generator/generator.go')
-rw-r--r--internal/generator/generator.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/internal/generator/generator.go b/internal/generator/generator.go
index 3d1a441..dc1f236 100644
--- a/internal/generator/generator.go
+++ b/internal/generator/generator.go
@@ -27,6 +27,7 @@ type pageData struct {
// postView is a render-friendly representation of a post for the HTML template.
type postView struct {
+ ID string
FormattedTime string
ContentHTML template.HTML // pre-rendered; trusted — generated by this tool
}
@@ -47,12 +48,16 @@ func Run(cfg *config.Config) error {
// Combine the theme HTML (which uses {{template "navhints"}} etc.) with the
// shared navDefs sub-templates so a single parse call resolves all references.
- combined := getTheme(cfg.Theme) + "\n" + navDefs
+ combined := injectSharedHead(getTheme(cfg.Theme)) + "\n" + navDefs
tmpl, err := template.New("page").Parse(combined)
if err != nil {
return fmt.Errorf("parse page template: %w", err)
}
+ if err := writeFavicon(cfg.OutputDir); err != nil {
+ return err
+ }
+
for i, page := range pages {
if err := writePage(tmpl, page, i, len(pages), cfg); err != nil {
return err
@@ -145,6 +150,7 @@ func buildPageData(posts []*post.Post, pageIndex, totalPages int, theme string)
views := make([]postView, len(posts))
for i, p := range posts {
views[i] = postView{
+ ID: p.ID,
FormattedTime: formatPostTime(p.Timestamp),
ContentHTML: template.HTML(p.Content), //nolint:gosec // content is tool-generated HTML
}