diff --git a/tpl/tplimpl/templatedescriptor.go b/tpl/tplimpl/templatedescriptor.go index 8e4390fae..ca73c9f78 100644 --- a/tpl/tplimpl/templatedescriptor.go +++ b/tpl/tplimpl/templatedescriptor.go @@ -177,7 +177,7 @@ func (this TemplateDescriptor) doCompare(category Category, isEmbedded bool, oth w.w2 = weight2Group1 } - if this.LayoutFromUser == "" && other.LayoutFromTemplate != "" && (other.LayoutFromTemplate == this.LayoutFromTemplate || other.LayoutFromTemplate == layoutAll) { + if other.LayoutFromTemplate != "" && (other.LayoutFromTemplate == this.LayoutFromTemplate || other.LayoutFromTemplate == layoutAll) { w.w1 += weightLayoutStandard w.w2 = weight2Group1 diff --git a/tpl/tplimpl/templatestore_integration_test.go b/tpl/tplimpl/templatestore_integration_test.go index 32e1248fe..e59dad33a 100644 --- a/tpl/tplimpl/templatestore_integration_test.go +++ b/tpl/tplimpl/templatestore_integration_test.go @@ -1204,3 +1204,28 @@ layouts/_partials/comment.ru.xml b.AssertFileContent("public/ru/index.html", "layouts/_partials/comment.ru.html") // fail b.AssertFileContent("public/ru/index.xml", "layouts/_partials/comment.ru.xml") // fail } + +func TestLayoutIssue13628(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +disableKinds = ['home','rss','sitemap','taxonomy','term'] +-- content/p1.md -- +--- +title: p1 +layout: foo +--- +-- layouts/single.html -- +layouts/single.html +-- layouts/list.html -- +layouts/list.html +` + + for range 5 { + + b := hugolib.Test(t, files) + + b.AssertFileContent("public/p1/index.html", "layouts/single.html") + } +}