diff options
author | Bjørn Erik Pedersen <[email protected]> | 2024-06-02 12:54:14 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-06-02 13:30:52 +0200 |
commit | 917199a94ea4d67eb911d3e7e26cd7c828fae323 (patch) | |
tree | a2cbd49da9ca1b41040b0b742e92746cc6db508a /hugolib | |
parent | c8dac67defbb512877e974814e196782989b8214 (diff) | |
download | hugo-917199a94ea4d67eb911d3e7e26cd7c828fae323.tar.gz hugo-917199a94ea4d67eb911d3e7e26cd7c828fae323.zip |
content adapter: Fix site.GetPage using the base part of the path
Fixes #12561
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/content_map_page.go | 4 | ||||
-rw-r--r-- | hugolib/pagecollections_test.go | 33 |
2 files changed, 35 insertions, 2 deletions
diff --git a/hugolib/content_map_page.go b/hugolib/content_map_page.go index 66baea3d1..a8f5b5fd7 100644 --- a/hugolib/content_map_page.go +++ b/hugolib/content_map_page.go @@ -932,8 +932,8 @@ func newPageMap(i int, s *Site, mcache *dynacache.Cache, pageTrees *pageTrees) * LockType: doctree.LockTypeRead, Handle: func(s string, n contentNodeI, match doctree.DimensionFlag) (bool, error) { p := n.(*pageState) - if p.File() != nil { - add(p.File().FileInfo().Meta().PathInfo.BaseNameNoIdentifier(), p) + if p.PathInfo() != nil { + add(p.PathInfo().BaseNameNoIdentifier(), p) } return false, nil }, diff --git a/hugolib/pagecollections_test.go b/hugolib/pagecollections_test.go index be81c3a66..96f1afe3d 100644 --- a/hugolib/pagecollections_test.go +++ b/hugolib/pagecollections_test.go @@ -693,3 +693,36 @@ draft: true b.AssertFileContent("public/s1-foo/index.html", "/s1-foo/: Pages: /s1-foo/p2/|/s1-foo/s2-foo/|/s1-foo/s2/|$") b.AssertFileContent("public/s1-foo/s2/index.html", "/s1-foo/s2/: Pages: /s1-foo/s2/p3/|$") } + +func TestGetPageContentAdapterBaseIssue12561(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +disableKinds = ['rss','section','sitemap','taxonomy','term'] +-- layouts/index.html -- +Test A: {{ (site.GetPage "/s1/p1").Title }} +Test B: {{ (site.GetPage "p1").Title }} +Test C: {{ (site.GetPage "/s2/p2").Title }} +Test D: {{ (site.GetPage "p2").Title }} +-- layouts/_default/single.html -- +{{ .Title }} +-- content/s1/p1.md -- +--- +title: p1 +--- +-- content/s2/_content.gotmpl -- +{{ .AddPage (dict "path" "p2" "title" "p2") }} +` + + b := Test(t, files) + + b.AssertFileExists("public/s1/p1/index.html", true) + b.AssertFileExists("public/s2/p2/index.html", true) + b.AssertFileContent("public/index.html", + "Test A: p1", + "Test B: p1", + "Test C: p2", + "Test D: p2", // fails + ) +} |