Fix taxonomy weight sort regression

Fixes #10406
This commit is contained in:
Bjørn Erik Pedersen 2022-11-01 17:15:04 +01:00
parent 77fc74a5b2
commit 52ea07d2eb
2 changed files with 44 additions and 3 deletions

View file

@ -268,7 +268,10 @@ func (p *pageState) Pages() page.Pages {
case page.KindSection, page.KindHome: case page.KindSection, page.KindHome:
pages = p.getPagesAndSections() pages = p.getPagesAndSections()
case page.KindTerm: case page.KindTerm:
pages = p.bucket.getTaxonomyEntries() b := p.treeRef.n
viewInfo := b.viewInfo
taxonomy := p.s.Taxonomies()[viewInfo.name.plural].Get(viewInfo.termKey)
pages = taxonomy.Pages()
case page.KindTaxonomy: case page.KindTaxonomy:
pages = p.bucket.getTaxonomies() pages = p.bucket.getTaxonomies()
default: default:

View file

@ -60,7 +60,6 @@ YAML frontmatter with tags and categories taxonomy.`
} }
} }
//
func TestTaxonomiesWithAndWithoutContentFile(t *testing.T) { func TestTaxonomiesWithAndWithoutContentFile(t *testing.T) {
for _, uglyURLs := range []bool{false, true} { for _, uglyURLs := range []bool{false, true} {
uglyURLs := uglyURLs uglyURLs := uglyURLs
@ -521,7 +520,7 @@ Funny:|/p1/|
Funny:|/p2/|`) Funny:|/p2/|`)
} }
//https://github.com/gohugoio/hugo/issues/6590 // https://github.com/gohugoio/hugo/issues/6590
func TestTaxonomiesListPages(t *testing.T) { func TestTaxonomiesListPages(t *testing.T) {
b := newTestSitesBuilder(t) b := newTestSitesBuilder(t)
b.WithTemplates("_default/list.html", ` b.WithTemplates("_default/list.html", `
@ -694,3 +693,42 @@ abcdefgs: {{ template "print-page" $abcdefgs }}|IsAncestor: {{ $abcdefgs.IsAnces
abcdefgs: /abcdefgs/|Abcdefgs|taxonomy|Parent: /|CurrentSection: /|FirstSection: /|IsAncestor: true|IsDescendant: false abcdefgs: /abcdefgs/|Abcdefgs|taxonomy|Parent: /|CurrentSection: /|FirstSection: /|IsAncestor: true|IsDescendant: false
`) `)
} }
func TestTaxonomiesWeightSort(t *testing.T) {
files := `
-- layouts/index.html --
{{ $a := site.GetPage "tags/a"}}
:{{ range $a.Pages }}{{ .RelPermalink }}|{{ end }}:
-- content/p1.md --
---
title: P1
weight: 100
tags: ['a']
tags_weight: 20
---
-- content/p3.md --
---
title: P2
weight: 200
tags: ['a']
tags_weight: 30
---
-- content/p2.md --
---
title: P3
weight: 50
tags: ['a']
tags_weight: 40
---
`
b := NewIntegrationTestBuilder(
IntegrationTestConfig{
T: t,
TxtarString: files,
},
).Build()
b.AssertFileContent("public/index.html", `:/p1/|/p3/|/p2/|:`)
}