shithub: hugo

Download patch

ref: 4c2a0de412a850745ad32e580fcd65575192ca53
parent: 6be6684cc5f49773bbcdf3e56e4395d0eda47f7b
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Fri Feb 21 03:06:38 EST 2020

Fix panic in 404.Parent

Fixes #6924

--- a/hugolib/404_test.go
+++ b/hugolib/404_test.go
@@ -21,13 +21,16 @@
 	t.Parallel()
 
 	b := newTestSitesBuilder(t)
-	b.WithSimpleConfigFile().WithTemplatesAdded("404.html", "<html><body>Not Found!</body></html>")
+	b.WithSimpleConfigFile().WithTemplatesAdded("404.html", "<html><body>Not Found! Parent: {{ .Parent.Kind }}</body></html>")
 	b.Build(BuildCfg{})
 
 	// Note: We currently have only 1 404 page. One might think that we should have
 	// multiple, to follow the Custom Output scheme, but I don't see how that would work
 	// right now.
-	b.AssertFileContent("public/404.html", "Not Found")
+	b.AssertFileContent("public/404.html", `
+Not Found
+Parent: home
+`)
 
 }
 
--- a/hugolib/page__tree.go
+++ b/hugolib/page__tree.go
@@ -121,11 +121,13 @@
 		return nil
 	}
 
-	if pt.p.Kind() == page.KindTaxonomyTerm {
+	tree := p.getTreeRef()
+
+	if pt.p.Kind() == page.KindTaxonomyTerm || tree == nil {
 		return pt.p.s.home
 	}
 
-	_, b := p.getTreeRef().getSection()
+	_, b := tree.getSection()
 	if b == nil {
 		return nil
 	}