Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-03-25 09:54:10 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-03-25 09:55:46 +0300
commit91ef9655aaf2adea3a044bf9a464908084917a98 (patch)
tree9360d85d98ea7f28275cfdfc297ba3582f9a7ec9
parentb5f39d23b86f9cb83c51da9fe4abb4c19c01c3b7 (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
-rw-r--r--hugolib/page__tree.go4
-rw-r--r--resources/page/page.go4
-rw-r--r--resources/page/page_generate/generate_page_wrappers.go7
-rw-r--r--resources/page/page_nop.go4
-rw-r--r--resources/page/testhelpers_test.go4
5 files changed, 22 insertions, 1 deletions
diff --git a/hugolib/page__tree.go b/hugolib/page__tree.go
index a99e6f16c..bddfde7c8 100644
--- a/hugolib/page__tree.go
+++ b/hugolib/page__tree.go
@@ -104,6 +104,10 @@ func (pt pageTree) InSection(other interface{}) (bool, error) {
}
+func (pt pageTree) Page() page.Page {
+ return pt.p
+}
+
func (pt pageTree) Parent() page.Page {
return pt.p.parent
}
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")
}