diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-03-25 07:54:10 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-03-25 07:55:46 +0100 |
commit | 91ef9655aaf2adea3a044bf9a464908084917a98 (patch) | |
tree | 9360d85d98ea7f28275cfdfc297ba3582f9a7ec9 /resources | |
parent | b5f39d23b86f9cb83c51da9fe4abb4c19c01c3b7 (diff) |
resources/page: Re-introduce .Page.Page
It was removed in 597e418cb02883418f2cebb41400e8e61413f651 -- it's not documented, but it's used in too many real sites on the web.
See #5784
Diffstat (limited to 'resources')
-rw-r--r-- | resources/page/page.go | 4 | ||||
-rw-r--r-- | resources/page/page_generate/generate_page_wrappers.go | 7 | ||||
-rw-r--r-- | resources/page/page_nop.go | 4 | ||||
-rw-r--r-- | resources/page/testhelpers_test.go | 4 |
4 files changed, 18 insertions, 1 deletions
diff --git a/resources/page/page.go b/resources/page/page.go index efbefb456..1f6758542 100644 --- a/resources/page/page.go +++ b/resources/page/page.go @@ -340,6 +340,10 @@ type TreeProvider interface { // Sections returns this section's subsections, if any. // Note that for non-sections, this method will always return an empty list. Sections() Pages + + // Page returns a reference to the Page itself, kept here mostly + // for legacy reasons. + Page() Page } // DeprecatedWarningPageMethods lists deprecated Page methods that will trigger diff --git a/resources/page/page_generate/generate_page_wrappers.go b/resources/page/page_generate/generate_page_wrappers.go index af85cb429..54e1f272e 100644 --- a/resources/page/page_generate/generate_page_wrappers.go +++ b/resources/page/page_generate/generate_page_wrappers.go @@ -107,7 +107,12 @@ func generateMarshalJSON(c *codegen.Inspector) error { return errors.New("no methods found") } - marshalJSON, pkgImports := methods.ToMarshalJSON("Page", "github.com/gohugoio/hugo/resources/page") + marshalJSON, pkgImports := methods.ToMarshalJSON( + "Page", + "github.com/gohugoio/hugo/resources/page", + // Exclusion regexps. Matches method names. + `\bPage\b`, + ) fmt.Fprintf(f, `%s diff --git a/resources/page/page_nop.go b/resources/page/page_nop.go index 7afbee216..229bcb077 100644 --- a/resources/page/page_nop.go +++ b/resources/page/page_nop.go @@ -299,6 +299,10 @@ func (p *nopPage) Params() map[string]interface{} { return nil } +func (p *nopPage) Page() Page { + return p +} + func (p *nopPage) Parent() Page { return nil } diff --git a/resources/page/testhelpers_test.go b/resources/page/testhelpers_test.go index c2bcca0a5..60a6c0816 100644 --- a/resources/page/testhelpers_test.go +++ b/resources/page/testhelpers_test.go @@ -360,6 +360,10 @@ func (p *testPage) Params() map[string]interface{} { return p.params } +func (p *testPage) Page() Page { + return p +} + func (p *testPage) Parent() Page { panic("not implemented") } |