Skip to content

Commit

Permalink
hugolib: Fix PrevInSection/NextInSection for nested sections
Browse files Browse the repository at this point in the history
This was broken in Hugo 0.55.0.

Fixes #5883
  • Loading branch information
bep committed May 1, 2019
1 parent 009076e commit bcbed4e
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 1 deletion.
2 changes: 1 addition & 1 deletion hugolib/site.go
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ func (s *Site) prepareInits() {
if p1.IsPage() && p1.Section() == "" {
rootSection = append(rootSection, i)
}
if p1.IsSection() && len(p1.SectionsEntries()) <= 1 {
if p1.IsSection() {
sectionPages := p1.Pages()
for i, p2 := range sectionPages {
p2s := p2.(*pageState)
Expand Down
45 changes: 45 additions & 0 deletions hugolib/site_sections_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -330,3 +330,48 @@ PAG|{{ .Title }}|{{ $sect.InSection . }}
th.assertFileContent("public/l1/l2/page/2/index.html", "L1/l2-IsActive: true", "PAG|T2_3|true")

}

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

pageContent := `---
title: "The Page"
weight: %d
---
Some content.
`
createPageContent := func(weight int) string {
return fmt.Sprintf(pageContent, weight)
}

b := newTestSitesBuilder(t)
b.WithSimpleConfigFile()
b.WithTemplates("_default/single.html", `
Prev: {{ with .PrevInSection }}{{ .RelPermalink }}{{ end }}|
Next: {{ with .NextInSection }}{{ .RelPermalink }}{{ end }}|
`)

b.WithContent("blog/page1.md", createPageContent(1))
b.WithContent("blog/page2.md", createPageContent(2))
b.WithContent("blog/cool/_index.md", createPageContent(1))
b.WithContent("blog/cool/cool1.md", createPageContent(1))
b.WithContent("blog/cool/cool2.md", createPageContent(2))
b.WithContent("root1.md", createPageContent(1))
b.WithContent("root2.md", createPageContent(2))

b.Build(BuildCfg{})

b.AssertFileContent("public/root1/index.html",
"Prev: /root2/|", "Next: |")
b.AssertFileContent("public/root2/index.html",
"Prev: |", "Next: /root1/|")
b.AssertFileContent("public/blog/page1/index.html",
"Prev: /blog/page2/|", "Next: |")
b.AssertFileContent("public/blog/page2/index.html",
"Prev: |", "Next: /blog/page1/|")
b.AssertFileContent("public/blog/cool/cool1/index.html",
"Prev: /blog/cool/cool2/|", "Next: |")
b.AssertFileContent("public/blog/cool/cool2/index.html",
"Prev: |", "Next: /blog/cool/cool1/|")

}

0 comments on commit bcbed4e

Please sign in to comment.