diff options
| author | mo khan <mo@mokhan.ca> | 2026-02-01 00:08:48 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2026-02-01 00:08:48 -0700 |
| commit | b7c1e89f12e06c478c13b255da3df366736edf02 (patch) | |
| tree | 86b27e4c8619621fea9608b864eb02f1538fc912 | |
| parent | 051e023c1813d4bbf73d683311000652dfc79783 (diff) | |
fix: drop the .html suffix from the compare links
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | internal/generator/compare.go | 12 | ||||
| -rw-r--r-- | internal/generator/tags.go | 2 |
3 files changed, 10 insertions, 6 deletions
@@ -42,7 +42,7 @@ Generated paths follow GitHub repository conventions: | `/commits/<ref>/page-N.html` | Commit history (page N) | | `/branches.html` | Branches list | | `/tags.html` | Tags list | -| `/compare/<base>...<head>.html` | Diff between refs | +| `/compare/<base>...<head>/` | 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()) } } |
