diff --git a/hugolib/page.go b/hugolib/page.go index d0951bff7..4b7c35d76 100644 --- a/hugolib/page.go +++ b/hugolib/page.go @@ -1069,6 +1069,16 @@ func (p *Page) prepareForRender(cfg *BuildCfg) error { // or a template or similar has changed so wee need to do a rerendering // of the shortcodes etc. + // Handle bundled pages first, so the content is available in the + // owners' shortcodes. + for _, r := range p.Resources.ByType(pageResourceType) { + p.s.PathSpec.ProcessingStats.Incr(&p.s.PathSpec.ProcessingStats.Pages) + bp := r.(*Page) + if err := bp.prepareForRender(cfg); err != nil { + s.Log.ERROR.Printf("Failed to prepare bundled page %q for render: %s", bp.BaseFileName(), err) + } + } + // If in watch mode or if we have multiple output formats, // we need to keep the original so we can // potentially repeat this process on rebuild. @@ -1119,15 +1129,6 @@ func (p *Page) prepareForRender(cfg *BuildCfg) error { //analyze for raw stats p.analyzePage() - // Handle bundled pages. - for _, r := range p.Resources.ByType(pageResourceType) { - p.s.PathSpec.ProcessingStats.Incr(&p.s.PathSpec.ProcessingStats.Pages) - bp := r.(*Page) - if err := bp.prepareForRender(cfg); err != nil { - s.Log.ERROR.Printf("Failed to prepare bundled page %q for render: %s", bp.BaseFileName(), err) - } - } - return nil }