Fix panic in 404.Parent

Fixes #6924
This commit is contained in:
Bjørn Erik Pedersen 2020-02-21 08:06:38 +01:00
parent 6be6684cc5
commit 4c2a0de412
No known key found for this signature in database
GPG key ID: 330E6E2BD4859D8F
2 changed files with 9 additions and 4 deletions

View file

@ -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
`)
}

View file

@ -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
}