Revert "hugolib: Honor implicit "page" type during template selection"

This reverts commit cfc8d315b4.

See #13868
This commit is contained in:
Bjørn Erik Pedersen
2025-07-27 12:18:13 +02:00
parent 9c57af1351
commit 3937ab24d0
3 changed files with 2 additions and 60 deletions

View File

@@ -640,7 +640,7 @@ func (p *Path) Base() string {
// For pages with Type set, we treat that as the section.
func (p *Path) BaseReTyped(typ string) (d string) {
base := p.Base()
if p.Section() == typ {
if typ == "" || p.Section() == typ {
return base
}
d = "/" + typ

View File

@@ -479,7 +479,7 @@ func (ps *pageState) initCommonProviders(pp pagePaths) error {
func (po *pageOutput) GetInternalTemplateBasePathAndDescriptor() (string, tplimpl.TemplateDescriptor) {
p := po.p
f := po.f
base := p.PathInfo().BaseReTyped(p.m.Type())
base := p.PathInfo().BaseReTyped(p.m.pageConfig.Type)
return base, tplimpl.TemplateDescriptor{
Kind: p.Kind(),
Lang: p.Language().Lang,

View File

@@ -2000,61 +2000,3 @@ title: home en
b.AssertLogContains("Using index.de.md in your content's root directory is usually incorrect for your home page. You should use _index.de.md instead.")
b.AssertLogContains("Using index.en.org in your content's root directory is usually incorrect for your home page. You should use _index.en.org instead.")
}
// Issue 13826
func TestTemplateSelectionIssue13826(t *testing.T) {
t.Parallel()
files := `
-- hugo.toml --
disableKinds = ['home','rss','section','sitemap','taxonomy','term']
-- content/p1.md --
---
title: p1 (type implicitly set to page)
---
-- content/p2.md --
---
title: p2 (type explicitly set to page)
type: page
---
-- content/p3.md --
---
title: p3 (type explicitly set to foo)
type: foo
---
-- content/foo/p4.md --
---
title: p4 (type implicitly set to foo)
---
-- content/bar/p5.md --
---
title: p5 (type explicitly set to foo)
type: foo
---
-- layouts/page/page.html --
layouts/page/page.html
-- layouts/foo/page.html --
layouts/foo/page.html
-- layouts/page.html --
layouts/page.html
`
b := Test(t, files)
b.AssertFileContent("public/p1/index.html", "layouts/page/page.html")
b.AssertFileContent("public/p2/index.html", "layouts/page/page.html")
b.AssertFileContent("public/p3/index.html", "layouts/foo/page.html")
b.AssertFileContent("public/foo/p4/index.html", "layouts/foo/page.html")
b.AssertFileContent("public/bar/p5/index.html", "layouts/foo/page.html")
files = strings.ReplaceAll(files, "-- layouts/page/page.html --", "-- delete-me-1.txt --")
files = strings.ReplaceAll(files, "-- layouts/foo/page.html --", "-- delete-me-2.txt --")
b = Test(t, files)
b.AssertFileContent("public/p1/index.html", "layouts/page.html")
b.AssertFileContent("public/p2/index.html", "layouts/page.html")
b.AssertFileContent("public/p3/index.html", "layouts/page.html")
b.AssertFileContent("public/foo/p4/index.html", "layouts/page.html")
b.AssertFileContent("public/bar/p5/index.html", "layouts/page.html")
}