From d0d661dffd19d5ed6efbd4dd2c572bad008bd859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Thu, 4 Apr 2019 12:37:55 +0200 Subject: [PATCH] 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 --- hugolib/hugo_sites.go | 5 ++++- hugolib/hugo_sites_build.go | 6 ++---- hugolib/pagebundler.go | 5 +++-- 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)