summaryrefslogtreecommitdiffstats
path: root/hugolib
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-04 12:37:55 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2019-04-04 13:51:22 +0200
commitd0d661dffd19d5ed6efbd4dd2c572bad008bd859 (patch)
treeb8ef86a426e3b3111c0430374f62991bc2dc35b8 /hugolib
parent4494a01b794ab785c64c8e93c61ccbfa845bc478 (diff)
hugolib: Re-work "fast render" logic in the new flow
Note that this fixes some "live reload" issues recently introduced in non-released code. Closes #5811 See #5784
Diffstat (limited to 'hugolib')
-rw-r--r--hugolib/hugo_sites.go5
-rw-r--r--hugolib/hugo_sites_build.go6
-rw-r--r--hugolib/pagebundler.go5
3 files changed, 9 insertions, 7 deletions
diff --git a/hugolib/hugo_sites.go b/hugolib/hugo_sites.go
index 9fe2a5bdb..caa9a4bc2 100644
--- a/hugolib/hugo_sites.go
+++ b/hugolib/hugo_sites.go
@@ -569,7 +569,6 @@ func (cfg *BuildCfg) shouldRender(p *pageState) bool {
return false
}
if p.forceRender {
- p.forceRender = false
return true
}
@@ -577,6 +576,10 @@ func (cfg *BuildCfg) shouldRender(p *pageState) bool {
return true
}
+ if cfg.RecentlyVisited[p.RelPermalink()] {
+ return true
+ }
+
if cfg.whatChanged != nil && !p.File().IsZero() {
return cfg.whatChanged.files[p.File().Filename()]
}
diff --git a/hugolib/hugo_sites_build.go b/hugolib/hugo_sites_build.go
index 214f72c5f..91dfb9a37 100644
--- a/hugolib/hugo_sites_build.go
+++ b/hugolib/hugo_sites_build.go
@@ -288,10 +288,8 @@ func (h *HugoSites) render(config *BuildCfg) error {
// needs this set.
s2.rc = &siteRenderingContext{Format: renderFormat}
- if !config.PartialReRender {
- if err := s2.preparePagesForRender(siteRenderContext.sitesOutIdx); err != nil {
- return err
- }
+ if err := s2.preparePagesForRender(siteRenderContext.sitesOutIdx); err != nil {
+ return err
}
}
diff --git a/hugolib/pagebundler.go b/hugolib/pagebundler.go
index 546b125ff..682221d8c 100644
--- a/hugolib/pagebundler.go
+++ b/hugolib/pagebundler.go
@@ -110,8 +110,9 @@ func (s *siteContentProcessor) process(ctx context.Context) error {
panic(fmt.Sprintf("invalid page site: %v vs %v", p.s, s))
}
- if s.partialBuild {
- p.forceRender = true
+ p.forceRender = s.partialBuild
+
+ if p.forceRender {
s.site.replacePage(p)
} else {
s.site.addPage(p)