mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-21 20:46:30 -05:00
Fix section page resource not published if resource filename partially matches content file name
Fixes #12198
This commit is contained in:
parent
0567a3e6f1
commit
4271b6be0f
2 changed files with 33 additions and 1 deletions
|
@ -485,7 +485,7 @@ func (m *pageMap) forEachResourceInPage(
|
||||||
rw.Handle = func(resourceKey string, n contentNodeI, match doctree.DimensionFlag) (bool, error) {
|
rw.Handle = func(resourceKey string, n contentNodeI, match doctree.DimensionFlag) (bool, error) {
|
||||||
if isBranch {
|
if isBranch {
|
||||||
ownerKey, _ := m.treePages.LongestPrefixAll(resourceKey)
|
ownerKey, _ := m.treePages.LongestPrefixAll(resourceKey)
|
||||||
if ownerKey != keyPage {
|
if ownerKey != keyPage && path.Dir(ownerKey) != path.Dir(resourceKey) {
|
||||||
// Stop walking downwards, someone else owns this resource.
|
// Stop walking downwards, someone else owns this resource.
|
||||||
rw.SkipPrefix(ownerKey + "/")
|
rw.SkipPrefix(ownerKey + "/")
|
||||||
return false, nil
|
return false, nil
|
||||||
|
|
|
@ -326,3 +326,35 @@ R: {{ with $r }}{{ .Content }}{{ end }}|Len: {{ len $bundle.Resources }}|$
|
||||||
b.AssertFileContent("public/index.html", "R: Data 1.txt|", "Len: 1|")
|
b.AssertFileContent("public/index.html", "R: Data 1.txt|", "Len: 1|")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBundleResourcesNoPublishedIssue12198(t *testing.T) {
|
||||||
|
t.Parallel()
|
||||||
|
|
||||||
|
files := `
|
||||||
|
-- hugo.toml --
|
||||||
|
disableKinds = ['home','rss','sitemap','taxonomy','term']
|
||||||
|
-- content/s1/p1.md --
|
||||||
|
---
|
||||||
|
title: p1
|
||||||
|
---
|
||||||
|
-- content/s1/foo.txt --
|
||||||
|
foo.txt
|
||||||
|
-- content/s1/p1.txt --
|
||||||
|
p1.txt
|
||||||
|
-- content/s1/p1-foo.txt --
|
||||||
|
p1-foo.txt
|
||||||
|
-- layouts/_default/list.html --
|
||||||
|
{{.Title }}|
|
||||||
|
-- layouts/_default/single.html --
|
||||||
|
{{.Title }}|
|
||||||
|
`
|
||||||
|
|
||||||
|
b := Test(t, files)
|
||||||
|
b.Build()
|
||||||
|
|
||||||
|
b.AssertFileExists("public/s1/index.html", true)
|
||||||
|
b.AssertFileExists("public/s1/foo.txt", true)
|
||||||
|
b.AssertFileExists("public/s1/p1.txt", true) // failing test
|
||||||
|
b.AssertFileExists("public/s1/p1-foo.txt", true) // failing test
|
||||||
|
b.AssertFileExists("public/s1/p1/index.html", true)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue