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)