hugolib: Prepare render per output format

See #3220
This commit is contained in:
Bjørn Erik Pedersen
2017-05-05 09:24:37 +02:00
parent 1e4d082cf5
commit 2bcbf10400
4 changed files with 50 additions and 34 deletions

View File

@@ -203,26 +203,31 @@ func (h *HugoSites) assemble(config *BuildCfg) error {
return err
}
for _, s := range h.Sites {
s.preparePagesForRender(config)
}
return nil
}
func (h *HugoSites) render(config *BuildCfg) error {
if !config.SkipRender {
for _, s := range h.Sites {
if err := s.render(); err != nil {
return err
}
if config.PrintStats {
s.Stats()
for _, s := range h.Sites {
s.initRenderFormats()
for i, rf := range s.renderFormats {
s.rc = &siteRenderingContext{Format: rf}
s.preparePagesForRender(i, config)
if !config.SkipRender {
if err := s.render(i); err != nil {
return err
}
}
}
if !config.SkipRender && config.PrintStats {
s.Stats()
}
}
if !config.SkipRender {
if err := h.renderCrossSitesArtifacts(); err != nil {
return err
}