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>2022-02-22 16:42:33 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2022-02-23 12:02:16 +0300
commite97d3c640fc5e845135c5f8f49ff11e23cffddeb (patch)
tree3aba294bd72363dcafd9ef6bad8ce99ad97289ec /resources
parent7732da9f93503c1a723d6ac5bb77da206cb0fa0e (diff)
Add page.Store
Fixes #9546
Diffstat (limited to 'resources')
-rw-r--r--resources/page/page.go8
-rw-r--r--resources/page/page_nop.go4
-rw-r--r--resources/page/testhelpers_test.go4
3 files changed, 16 insertions, 0 deletions
diff --git a/resources/page/page.go b/resources/page/page.go
index d1790806e..1ad536e94 100644
--- a/resources/page/page.go
+++ b/resources/page/page.go
@@ -261,7 +261,15 @@ type PageWithoutContent interface {
// Helper methods
ShortcodeInfoProvider
compare.Eqer
+
+ // Scratch returns a Scratch that can be used to store temporary state.
+ // Note that this Scratch gets reset on server rebuilds. See Store() for a variant that survives.
maps.Scratcher
+
+ // Store returns a Scratch that can be used to store temporary state.
+ // In contrast to Scratch(), this Scratch is not reset on server rebuilds.
+ Store() *maps.Scratch
+
RelatedKeywordsProvider
// GetTerms gets the terms of a given taxonomy,
diff --git a/resources/page/page_nop.go b/resources/page/page_nop.go
index 011fabfc0..fd706f994 100644
--- a/resources/page/page_nop.go
+++ b/resources/page/page_nop.go
@@ -418,6 +418,10 @@ func (p *nopPage) Scratch() *maps.Scratch {
return nil
}
+func (p *nopPage) Store() *maps.Scratch {
+ return nil
+}
+
func (p *nopPage) RelatedKeywords(cfg related.IndexConfig) ([]related.Keyword, error) {
return nil, nil
}
diff --git a/resources/page/testhelpers_test.go b/resources/page/testhelpers_test.go
index 57077ecf8..df4e79db4 100644
--- a/resources/page/testhelpers_test.go
+++ b/resources/page/testhelpers_test.go
@@ -498,6 +498,10 @@ func (p *testPage) Scratch() *maps.Scratch {
panic("not implemented")
}
+func (p *testPage) Store() *maps.Scratch {
+ panic("not implemented")
+}
+
func (p *testPage) RelatedKeywords(cfg related.IndexConfig) ([]related.Keyword, error) {
v, err := p.Param(cfg.Name)
if err != nil {