summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-07-24 10:10:51 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-07-24 11:37:59 +0200
commit04d4c08dbcac08ff7feeb88863e91799fed0937b (patch)
tree0c1dd87f381690c73b356602a52cb82b333f12c8 /hugolib
parent016dd4a69a765061bb3da8490d3cac6ec47a91eb (diff)
hugolib: Fix .Site.GetPage regression
In Hugo 0.44 we simplified the `.Site.GetPage` API and added code to handle the old-style syntax in most cases. This logic did not handle the lookup of the home page via `.Site.GetPage "section" ""` and similar. This commit fixes that. Fixes #4989
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/page_collections.go9
-rw-r--r--hugolib/site_sections_test.go2
2 files changed, 10 insertions, 1 deletions
diff --git a/hugolib/page_collections.go b/hugolib/page_collections.go
index d196d67a3..d99857aec 100644
--- a/hugolib/page_collections.go
+++ b/hugolib/page_collections.go
@@ -176,7 +176,14 @@ func (c *PageCollections) getPageOldVersion(ref ...string) (*Page, error) {
if len(refs) == 0 || refs[0] == KindHome {
key = "/"
} else if len(refs) == 1 {
- key = refs[0]
+ if len(ref) == 2 && refs[0] == KindSection {
+ // This is an old style reference to the "Home Page section".
+ // Typically fetched via {{ .Site.GetPage "section" .Section }}
+ // See https://github.com/gohugoio/hugo/issues/4989
+ key = "/"
+ } else {
+ key = refs[0]
+ }
} else {
key = refs[1]
}
diff --git a/hugolib/site_sections_test.go b/hugolib/site_sections_test.go
index bfec623e5..86ae4080c 100644
--- a/hugolib/site_sections_test.go
+++ b/hugolib/site_sections_test.go
@@ -109,6 +109,8 @@ Content
{{ range .Paginator.Pages }}
PAG|{{ .Title }}|{{ $sect.InSection . }}
{{ end }}
+{{/* https://github.com/gohugoio/hugo/issues/4989 */}}
+{{ $sections := (.Site.GetPage "section" .Section).Sections.ByWeight }}
</html>`)
cfg.Set("paginate", 2)