summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-02-21 08:06:38 +0100
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-02-21 08:14:08 +0100
commit4c2a0de412a850745ad32e580fcd65575192ca53 (patch)
tree57f11f13a6d3d5dea2ebfd836acd186cadec979b /hugolib
parent6be6684cc5f49773bbcdf3e56e4395d0eda47f7b (diff)
Fix panic in 404.Parent
Fixes #6924
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/404_test.go7
-rw-r--r--hugolib/page__tree.go6
2 files changed, 9 insertions, 4 deletions
diff --git a/hugolib/404_test.go b/hugolib/404_test.go
index a4dc667aa..6dea9295c 100644
--- a/hugolib/404_test.go
+++ b/hugolib/404_test.go
@@ -21,13 +21,16 @@ func Test404(t *testing.T) {
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
+`)
}
diff --git a/hugolib/page__tree.go b/hugolib/page__tree.go
index 08fda2289..2c3528922 100644
--- a/hugolib/page__tree.go
+++ b/hugolib/page__tree.go
@@ -121,11 +121,13 @@ func (pt pageTree) Parent() page.Page {
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
}