hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 04d4c08dbcac08ff7feeb88863e91799fed0937b
parent 016dd4a69a765061bb3da8490d3cac6ec47a91eb
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Tue, 24 Jul 2018 10:10:51 +0200

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:
Mhugolib/page_collections.go | 9++++++++-
Mhugolib/site_sections_test.go | 2++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git 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
@@ -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)