summaryrefslogtreecommitdiffstats
path: root/hugolib/site.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-09-07 15:07:10 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-09-07 21:06:44 +0200
commit4055c121847847d8bd6b95a928185daee065091b (patch)
tree6620f51e7e89aa7ff0a9a93361d640ee5b297fea /hugolib/site.go
parent3ba7c92530a80f2f04fe57705ab05c247a6e8437 (diff)
Fix some change detection issues on server reloads
* Fix change detection when .GetPage/site.GetPage is used from shortcode * Fix stale content for GetPage results with short name lookups on server reloads Fixes #7623 Fixes #7624 Fixes #7625
Diffstat (limited to 'hugolib/site.go')
-rw-r--r--hugolib/site.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/hugolib/site.go b/hugolib/site.go
index ac65931d0..dad5ab538 100644
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -1538,6 +1538,7 @@ func (s *Site) resetBuildState(sourceChanged bool) {
s.init.Reset()
if sourceChanged {
+ s.pageMap.contentMap.pageReverseIndex.Reset()
s.PageCollections = newPageCollections(s.pageMap)
s.pageMap.withEveryBundlePage(func(p *pageState) bool {
p.pagePages = &pagePages{}
@@ -1587,6 +1588,18 @@ func (s *SiteInfo) GetPage(ref ...string) (page.Page, error) {
return p, err
}
+func (s *SiteInfo) GetPageWithTemplateInfo(info tpl.Info, ref ...string) (page.Page, error) {
+ p, err := s.GetPage(ref...)
+ if p != nil {
+ // Track pages referenced by templates/shortcodes
+ // when in server mode.
+ if im, ok := info.(identity.Manager); ok {
+ im.Add(p)
+ }
+ }
+ return p, err
+}
+
func (s *Site) permalink(link string) string {
return s.PathSpec.PermalinkForBaseURL(link, s.PathSpec.BaseURL.String())
}