summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2026-02-01 00:08:48 -0700
committermo khan <mo@mokhan.ca>2026-02-01 00:08:48 -0700
commitb7c1e89f12e06c478c13b255da3df366736edf02 (patch)
tree86b27e4c8619621fea9608b864eb02f1538fc912
parent051e023c1813d4bbf73d683311000652dfc79783 (diff)
fix: drop the .html suffix from the compare links
-rw-r--r--README.md2
-rw-r--r--internal/generator/compare.go12
-rw-r--r--internal/generator/tags.go2
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/<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())
}
}