Skip to content

Commit

Permalink
Fix 404 with base template regression
Browse files Browse the repository at this point in the history
Fixes #6795
  • Loading branch information
bep committed Jan 26, 2020
1 parent 8ae2c9c commit 8df5d76
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
16 changes: 16 additions & 0 deletions hugolib/404_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,19 @@ func Test404(t *testing.T) {
b.AssertFileContent("public/404.html", "Not Found")

}

func Test404WithBase(t *testing.T) {
t.Parallel()

b := newTestSitesBuilder(t)
b.WithSimpleConfigFile().WithTemplatesAdded("404.html", `{{ define "main" }}
Page not found
{{ end }}`)
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", `Page not found`)

}
12 changes: 11 additions & 1 deletion hugolib/site_render.go
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,17 @@ func (s *Site) render404() error {
return err
}

templ := s.lookupLayouts("404.html")
var d output.LayoutDescriptor
d.Kind = kind404

templ, found, err := s.Tmpl().LookupLayout(d, output.HTMLFormat)
if err != nil {
return err
}
if !found {
return nil
}

targetPath := p.targetPaths().TargetFilename

if targetPath == "" {
Expand Down

0 comments on commit 8df5d76

Please sign in to comment.