diff options
Diffstat (limited to 'resources/page')
-rw-r--r-- | resources/page/page.go | 7 | ||||
-rw-r--r-- | resources/page/page_nop.go | 4 | ||||
-rw-r--r-- | resources/page/testhelpers_test.go | 4 | ||||
-rw-r--r-- | resources/page/weighted.go | 11 |
4 files changed, 18 insertions, 8 deletions
diff --git a/resources/page/page.go b/resources/page/page.go index 00b449607..3b43b0af3 100644 --- a/resources/page/page.go +++ b/resources/page/page.go @@ -57,6 +57,13 @@ type AuthorProvider interface { // ChildCareProvider provides accessors to child resources. type ChildCareProvider interface { Pages() Pages + + // RegularPages returns a list of pages of kind 'Page'. + // In Hugo 0.57 we changed the Pages method so it returns all page + // kinds, even sections. If you want the old behaviour, you can + // use RegularPages. + RegularPages() Pages + Resources() resource.Resources } diff --git a/resources/page/page_nop.go b/resources/page/page_nop.go index c3a4819f1..ea1a44d8f 100644 --- a/resources/page/page_nop.go +++ b/resources/page/page_nop.go @@ -284,6 +284,10 @@ func (p *nopPage) Pages() Pages { return nil } +func (p *nopPage) RegularPages() Pages { + return nil +} + func (p *nopPage) Paginate(seq interface{}, options ...interface{}) (*Pager, error) { return nil, nil } diff --git a/resources/page/testhelpers_test.go b/resources/page/testhelpers_test.go index 1a2798557..e861c1375 100644 --- a/resources/page/testhelpers_test.go +++ b/resources/page/testhelpers_test.go @@ -351,6 +351,10 @@ func (p *testPage) Pages() Pages { panic("not implemented") } +func (p *testPage) RegularPages() Pages { + panic("not implemented") +} + func (p *testPage) Paginate(seq interface{}, options ...interface{}) (*Pager, error) { return nil, nil } diff --git a/resources/page/weighted.go b/resources/page/weighted.go index 3f75bcc3c..48ed736ce 100644 --- a/resources/page/weighted.go +++ b/resources/page/weighted.go @@ -42,7 +42,7 @@ func (p WeightedPages) Page() Page { return nil } - return first.owner.Page + return first.owner } // A WeightedPage is a Page with a weight. @@ -54,15 +54,10 @@ type WeightedPage struct { // manual .Site.GetPage lookups. It is implemented in this roundabout way // because we cannot add additional state to the WeightedPages slice // without breaking lots of templates in the wild. - owner *PageWrapper + owner Page } -// PageWrapper wraps a Page. -type PageWrapper struct { - Page -} - -func NewWeightedPage(weight int, p Page, owner *PageWrapper) WeightedPage { +func NewWeightedPage(weight int, p Page, owner Page) WeightedPage { return WeightedPage{Weight: weight, Page: p, owner: owner} } |