summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--hugolib/page_paths.go2
-rw-r--r--hugolib/page_permalink_test.go2
2 files changed, 3 insertions, 1 deletions
diff --git a/hugolib/page_paths.go b/hugolib/page_paths.go
index 756a0f2f2..a24789bf9 100644
--- a/hugolib/page_paths.go
+++ b/hugolib/page_paths.go
@@ -310,7 +310,7 @@ func (p *Page) createRelativeTargetPathForOutputFormat(f output.Format) string {
}
// For /index.json etc. we must use the full path.
- if strings.HasSuffix(f.BaseFilename(), "html") {
+ if f.MediaType.FullSuffix() == ".html" && filepath.Base(tp) == "index.html" {
tp = strings.TrimSuffix(tp, f.BaseFilename())
}
diff --git a/hugolib/page_permalink_test.go b/hugolib/page_permalink_test.go
index 6f899efae..76b0b8635 100644
--- a/hugolib/page_permalink_test.go
+++ b/hugolib/page_permalink_test.go
@@ -55,6 +55,8 @@ func TestPermalink(t *testing.T) {
{"x/y/z/boofar.md", "http://barnew/boo/", "booslug", "", false, false, "http://barnew/boo/x/y/z/booslug/", "/boo/x/y/z/booslug/"},
{"x/y/z/boofar.md", "http://barnew/boo/", "booslug", "", true, true, "http://barnew/boo/x/y/z/booslug.html", "/x/y/z/booslug.html"},
{"x/y/z/boofar.md", "http://barnew/boo", "booslug", "", true, true, "http://barnew/boo/x/y/z/booslug.html", "/x/y/z/booslug.html"},
+ // Issue #4666
+ {"x/y/z/boo-makeindex.md", "http://barnew/boo", "", "", true, true, "http://barnew/boo/x/y/z/boo-makeindex.html", "/x/y/z/boo-makeindex.html"},
// test URL overrides
{"x/y/z/boofar.md", "", "", "/z/y/q/", false, false, "/z/y/q/", "/z/y/q/"},