diff options
Diffstat (limited to 'internal/generator/generator.go')
| -rw-r--r-- | internal/generator/generator.go | 8 |
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 } |
