From 0483299bc06a742d40528e0d675e42e149910853 Mon Sep 17 00:00:00 2001 From: Cameron Moore Date: Fri, 21 Dec 2018 02:42:37 -0600 Subject: [PATCH] hugolib: Improve logic of output path trimming Fixes #4666 --- hugolib/page_paths.go | 2 +- hugolib/page_permalink_test.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) 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/"},