mirror of
https://github.com/gohugoio/hugo.git
synced 2024-11-07 20:30:36 -05:00
Fix taxonomy
Recently introduced in master. See https://github.com/gohugoio/hugo/issues/6897#issuecomment-587499907
This commit is contained in:
parent
19e12caf8c
commit
1b7acfe763
3 changed files with 35 additions and 0 deletions
|
@ -533,6 +533,7 @@ func (m *contentMap) getPage(section, name string) *contentNode {
|
|||
|
||||
func (m *contentMap) getSection(s string) (string, *contentNode) {
|
||||
k, v, found := m.sections.LongestPrefix(path.Dir(s))
|
||||
|
||||
if found {
|
||||
return k, v.(*contentNode)
|
||||
}
|
||||
|
@ -919,6 +920,9 @@ func (c *contentTreeRef) isSection() bool {
|
|||
}
|
||||
|
||||
func (c *contentTreeRef) getSection() (string, *contentNode) {
|
||||
if c.t == c.m.taxonomies {
|
||||
return c.m.getTaxonomyParent(c.key)
|
||||
}
|
||||
return c.m.getSection(c.key)
|
||||
}
|
||||
|
||||
|
|
|
@ -121,6 +121,10 @@ func (pt pageTree) Parent() page.Page {
|
|||
return nil
|
||||
}
|
||||
|
||||
if pt.p.Kind() == page.KindTaxonomyTerm {
|
||||
return pt.p.s.home
|
||||
}
|
||||
|
||||
_, b := p.getTreeRef().getSection()
|
||||
if b == nil {
|
||||
return nil
|
||||
|
|
|
@ -537,3 +537,30 @@ categories.funny:|/blog/p1/|
|
|||
`)
|
||||
|
||||
}
|
||||
|
||||
func TestTaxonomiesParent(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
b := newTestSitesBuilder(t)
|
||||
b.WithContent("p.md", `---
|
||||
title: "Page"
|
||||
categories: ["funny"]
|
||||
---
|
||||
|
||||
`)
|
||||
|
||||
b.Build(BuildCfg{})
|
||||
|
||||
cat := b.GetPage("categories")
|
||||
funny := b.GetPage("categories/funny")
|
||||
|
||||
b.Assert(cat, qt.Not(qt.IsNil))
|
||||
b.Assert(funny, qt.Not(qt.IsNil))
|
||||
|
||||
b.Assert(cat.Parent().IsHome(), qt.Equals, true)
|
||||
b.Assert(funny.Parent(), qt.Equals, cat)
|
||||
|
||||
b.AssertFileContent("public/categories/funny/index.xml", `<link>http://example.com/p/</link>`)
|
||||
// TODO https://github.com/gohugoio/hugo/issues/6909 b.AssertFileContent("public/categories/index.xml", `<link>http://example.com/categories/funny/</link>`)
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue