}
}
-func (s *Site) preparePagesForRender(cfg *BuildCfg) {
+func (s *Site) preparePagesForRender(outFormatIdx int, cfg *BuildCfg) {
+
+ if outFormatIdx > 0 {
+ // TODO(bep) for now
+ return
+ }
+
pageChan := make(chan *Page)
wg := &sync.WaitGroup{}
numWorkers := getGoMaxProcs() * 4
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
}
}
func renderShortcodes(shortcodes map[string]shortcode, p *Page) map[string]func() (string, error) {
+
renderedShortcodes := make(map[string]func() (string, error))
for key, sc := range shortcodes {
// need to have something to replace with
renderedShortcodes[key] = emptyShortcodeFn
} else {
- shorctode := sc
- renderedShortcodes[key] = func() (string, error) { return renderShortcode(shorctode, nil, p), nil }
+ shortcode := sc
+ renderedShortcodes[key] = func() (string, error) { return renderShortcode(shortcode, nil, p), nil }
}
}
s.Info.LastChange = siteLastChange
}
-func (s *Site) render() (err error) {
+func (s *Site) render(outFormatIdx int) (err error) {
+
+ if outFormatIdx == 0 {
+ if err = s.preparePages(); err != nil {
+ return
+ }
+ s.timerStep("prepare pages")
+
+ // Aliases must be rendered before pages.
+ // Some sites, Hugo docs included, have faulty alias definitions that point
+ // to itself or another real page. These will be overwritten in the next
+ // step.
+ if err = s.renderAliases(); err != nil {
+ return
+ }
+ s.timerStep("render and write aliases")
- if err = s.preparePages(); err != nil {
- return
}
- s.timerStep("prepare pages")
- // Aliases must be rendered before pages.
- // Some sites, Hugo docs included, have faulty alias definitions that point
- // to itself or another real page. These will be overwritten in the next
- // step.
- if err = s.renderAliases(); err != nil {
+ if err = s.renderPages(); err != nil {
return
}
- s.timerStep("render and write aliases")
+
+ s.timerStep("render and write pages")
// TODO(bep) render consider this, ref. render404 etc.
- s.initRenderFormats()
- for _, rf := range s.renderFormats {
- s.rc = &siteRenderingContext{Format: rf}
- if err = s.renderPages(); err != nil {
- return
- }
+ if outFormatIdx > 0 {
+ return
}
- s.timerStep("render and write pages")
if err = s.renderSitemap(); err != nil {
return