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
This commit is contained in:
Bjørn Erik Pedersen 2018-07-24 10:10:51 +02:00
parent 016dd4a69a
commit 04d4c08dbc
2 changed files with 10 additions and 1 deletions

View file

@ -176,7 +176,14 @@ func (c *PageCollections) getPageOldVersion(ref ...string) (*Page, error) {
if len(refs) == 0 || refs[0] == KindHome { if len(refs) == 0 || refs[0] == KindHome {
key = "/" key = "/"
} else if len(refs) == 1 { } 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 { } else {
key = refs[1] key = refs[1]
} }

View file

@ -109,6 +109,8 @@ Content
{{ range .Paginator.Pages }} {{ range .Paginator.Pages }}
PAG|{{ .Title }}|{{ $sect.InSection . }} PAG|{{ .Title }}|{{ $sect.InSection . }}
{{ end }} {{ end }}
{{/* https://github.com/gohugoio/hugo/issues/4989 */}}
{{ $sections := (.Site.GetPage "section" .Section).Sections.ByWeight }}
</html>`) </html>`)
cfg.Set("paginate", 2) cfg.Set("paginate", 2)