summaryrefslogtreecommitdiffstats
path: root/hugolib/taxonomy.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-13 11:40:51 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-13 18:52:38 +0200
commitf2795d4d2cef30170af43327f3ff7114923833b1 (patch)
tree2b48f8f3903313f9bdbb17991bcfd29e186d61bb /hugolib/taxonomy.go
parente85c057f99dc2eeb6994bf24105bc48196841b88 (diff)
Fix WeightedPages in union etc.
We introduced a callback func() to get the owner Page in 0.55.0. Sadly, funcs is not comparable type in Go. This commit replaces the func with a struct pointer that wraps the Page. Fixes #5850
Diffstat (limited to 'hugolib/taxonomy.go')
-rw-r--r--hugolib/taxonomy.go10
1 files changed, 3 insertions, 7 deletions
diff --git a/hugolib/taxonomy.go b/hugolib/taxonomy.go
index 9d9e4f9ec..b91318ff1 100644
--- a/hugolib/taxonomy.go
+++ b/hugolib/taxonomy.go
@@ -175,7 +175,7 @@ type taxonomyNodeInfo struct {
parent *taxonomyNodeInfo
// Either of Kind taxonomyTerm (parent) or taxonomy
- owner page.Page
+ owner *page.PageWrapper
}
func (t *taxonomyNodeInfo) UpdateFromPage(p page.Page) {
@@ -185,17 +185,12 @@ func (t *taxonomyNodeInfo) UpdateFromPage(p page.Page) {
}
func (t *taxonomyNodeInfo) TransferValues(p *pageState) {
- t.owner = p
+ t.owner.Page = p
if p.Lastmod().IsZero() && p.Date().IsZero() {
p.m.Dates.UpdateDateAndLastmodIfAfter(t.dates)
}
}
-// callback sent to the child nodes.
-func (t *taxonomyNodeInfo) getOwner() page.Page {
- return t.owner
-}
-
// Maps either plural or plural/term to a taxonomy node.
// TODO(bep) consolidate somehow with s.Taxonomies
type taxonomyNodeInfos map[string]*taxonomyNodeInfo
@@ -216,6 +211,7 @@ func (t taxonomyNodeInfos) GetOrCreate(plural, termKey, term string) *taxonomyNo
plural: plural,
termKey: termKey,
term: term,
+ owner: &page.PageWrapper{}, // Page will be assigned later.
}
t[key] = n