From b7c1e89f12e06c478c13b255da3df366736edf02 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sun, 1 Feb 2026 00:08:48 -0700 Subject: fix: drop the .html suffix from the compare links --- README.md | 2 +- internal/generator/compare.go | 12 ++++++++---- internal/generator/tags.go | 2 +- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 725066d..80169d3 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ Generated paths follow GitHub repository conventions: | `/commits//page-N.html` | Commit history (page N) | | `/branches.html` | Branches list | | `/tags.html` | Tags list | -| `/compare/....html` | Diff between refs | +| `/compare/.../` | Diff between refs | ### Feeds & API diff --git a/internal/generator/compare.go b/internal/generator/compare.go index 5a407c2..ec47e08 100644 --- a/internal/generator/compare.go +++ b/internal/generator/compare.go @@ -149,17 +149,21 @@ func generateComparePage(base, head string, params Params) error { }) for i := range commits { - commits[i].Href = filepath.ToSlash(filepath.Join("../commit", commits[i].Hash+".html")) + commits[i].Href = filepath.ToSlash(filepath.Join("../../commit", commits[i].Hash+".html")) } - fileName := baseRef.DirName() + "..." + headRef.DirName() + ".html" - outPath := filepath.Join(params.OutputDir, "compare", fileName) + dirName := baseRef.DirName() + "..." + headRef.DirName() + outDir := filepath.Join(params.OutputDir, "compare", dirName) + if err := os.MkdirAll(outDir, 0o755); err != nil { + return err + } + outPath := filepath.Join(outDir, "index.html") f, err := os.Create(outPath) if err != nil { return err } - rootHref := "../" + rootHref := "../../" err = templates.CompareTemplate.ExecuteTemplate(f, "layout.gohtml", templates.CompareParams{ LayoutParams: templates.LayoutParams{ diff --git a/internal/generator/tags.go b/internal/generator/tags.go index 11f9c80..8286df3 100644 --- a/internal/generator/tags.go +++ b/internal/generator/tags.go @@ -29,7 +29,7 @@ func GenerateTags(entries []git.Tag, params Params) error { if i < len(entries)-1 { base := git.NewRef(entries[i+1].Name) head := git.NewRef(tag.Name) - tagEntries[i].CompareHref = fmt.Sprintf("compare/%s...%s.html", base.DirName(), head.DirName()) + tagEntries[i].CompareHref = fmt.Sprintf("compare/%s...%s/", base.DirName(), head.DirName()) } } -- cgit v1.2.3