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() t.Parallel()
b := newTestSitesBuilder(t) 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{}) b.Build(BuildCfg{})
// Note: We currently have only 1 404 page. One might think that we should have // 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 // multiple, to follow the Custom Output scheme, but I don't see how that would work
// right now. // 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 return nil
} }
if pt.p.Kind() == page.KindTaxonomyTerm { tree := p.getTreeRef()
if pt.p.Kind() == page.KindTaxonomyTerm || tree == nil {
return pt.p.s.home return pt.p.s.home
} }
_, b := p.getTreeRef().getSection() _, b := tree.getSection()
if b == nil { if b == nil {
return nil return nil
} }