mirror of
https://github.com/gohugoio/hugo.git
synced 2025-03-22 13:33:50 +00:00
parent
1e4d082cf5
commit
2bcbf10400
4 changed files with 50 additions and 34 deletions
|
@ -492,7 +492,13 @@ func (h *HugoSites) setupTranslations() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
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)
|
pageChan := make(chan *Page)
|
||||||
wg := &sync.WaitGroup{}
|
wg := &sync.WaitGroup{}
|
||||||
numWorkers := getGoMaxProcs() * 4
|
numWorkers := getGoMaxProcs() * 4
|
||||||
|
|
|
@ -203,26 +203,31 @@ func (h *HugoSites) assemble(config *BuildCfg) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, s := range h.Sites {
|
|
||||||
s.preparePagesForRender(config)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (h *HugoSites) render(config *BuildCfg) error {
|
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 {
|
for _, s := range h.Sites {
|
||||||
s.Stats()
|
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 {
|
if err := h.renderCrossSitesArtifacts(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
|
@ -309,6 +309,7 @@ func executeShortcodeFuncMap(funcs map[string]func() (string, error)) (map[strin
|
||||||
}
|
}
|
||||||
|
|
||||||
func renderShortcodes(shortcodes map[string]shortcode, p *Page) map[string]func() (string, error) {
|
func renderShortcodes(shortcodes map[string]shortcode, p *Page) map[string]func() (string, error) {
|
||||||
|
|
||||||
renderedShortcodes := make(map[string]func() (string, error))
|
renderedShortcodes := make(map[string]func() (string, error))
|
||||||
|
|
||||||
for key, sc := range shortcodes {
|
for key, sc := range shortcodes {
|
||||||
|
@ -316,8 +317,8 @@ func renderShortcodes(shortcodes map[string]shortcode, p *Page) map[string]func(
|
||||||
// need to have something to replace with
|
// need to have something to replace with
|
||||||
renderedShortcodes[key] = emptyShortcodeFn
|
renderedShortcodes[key] = emptyShortcodeFn
|
||||||
} else {
|
} else {
|
||||||
shorctode := sc
|
shortcode := sc
|
||||||
renderedShortcodes[key] = func() (string, error) { return renderShortcode(shorctode, nil, p), nil }
|
renderedShortcodes[key] = func() (string, error) { return renderShortcode(shortcode, nil, p), nil }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -986,32 +986,36 @@ func (s *Site) setupSitePages() {
|
||||||
s.Info.LastChange = siteLastChange
|
s.Info.LastChange = siteLastChange
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Site) render() (err error) {
|
func (s *Site) render(outFormatIdx int) (err error) {
|
||||||
|
|
||||||
if err = s.preparePages(); err != nil {
|
if outFormatIdx == 0 {
|
||||||
return
|
if err = s.preparePages(); err != nil {
|
||||||
}
|
|
||||||
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")
|
|
||||||
|
|
||||||
// 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
|
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.renderPages(); err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
s.timerStep("render and write pages")
|
s.timerStep("render and write pages")
|
||||||
|
|
||||||
|
// TODO(bep) render consider this, ref. render404 etc.
|
||||||
|
if outFormatIdx > 0 {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
if err = s.renderSitemap(); err != nil {
|
if err = s.renderSitemap(); err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue