diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-02-22 16:42:33 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2022-02-23 12:02:16 +0300 |
commit | e97d3c640fc5e845135c5f8f49ff11e23cffddeb (patch) | |
tree | 3aba294bd72363dcafd9ef6bad8ce99ad97289ec /resources | |
parent | 7732da9f93503c1a723d6ac5bb77da206cb0fa0e (diff) |
Add page.Store
Fixes #9546
Diffstat (limited to 'resources')
-rw-r--r-- | resources/page/page.go | 8 | ||||
-rw-r--r-- | resources/page/page_nop.go | 4 | ||||
-rw-r--r-- | resources/page/testhelpers_test.go | 4 |
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 { |