diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-04-13 11:40:51 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-04-13 18:52:38 +0200 |
commit | f2795d4d2cef30170af43327f3ff7114923833b1 (patch) | |
tree | 2b48f8f3903313f9bdbb17991bcfd29e186d61bb /hugolib/taxonomy.go | |
parent | e85c057f99dc2eeb6994bf24105bc48196841b88 (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.go | 10 |
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 |