diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-05-24 13:03:32 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2020-05-24 13:20:57 +0200 |
commit | 9698b0dab11f52d52145e85ff71311d2f103cb4e (patch) | |
tree | 29747eb4d36a3bf34f667c6182291dde2846b6b1 /hugolib/page__per_output.go | |
parent | 32344fe3db862584e3f926d63bdf33b7fa7d22f7 (diff) |
Fix RenderString vs render hooks
Fixes #7265
Diffstat (limited to 'hugolib/page__per_output.go')
-rw-r--r-- | hugolib/page__per_output.go | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/hugolib/page__per_output.go b/hugolib/page__per_output.go index 77a01801d..9a2d0b5f9 100644 --- a/hugolib/page__per_output.go +++ b/hugolib/page__per_output.go @@ -77,6 +77,7 @@ func newPageContentOutput(p *pageState, po *pageOutput) (*pageContentOutput, err dependencyTracker: dependencyTracker, p: p, f: po.f, + renderHooks: &renderHooks{}, } initContent := func() (err error) { @@ -227,6 +228,11 @@ func newPageContentOutput(p *pageState, po *pageOutput) (*pageContentOutput, err } +type renderHooks struct { + hooks *hooks.Renderers + init sync.Once +} + // pageContentOutput represents the Page content for a given output format. type pageContentOutput struct { f output.Format @@ -244,8 +250,8 @@ type pageContentOutput struct { placeholdersEnabled bool placeholdersEnabledInit sync.Once - // May be nil. - renderHooks *hooks.Renderers + renderHooks *renderHooks + // Set if there are more than one output format variant renderHooksHaveVariants bool // TODO(bep) reimplement this in another way, consolidate with shortcodes @@ -285,6 +291,7 @@ func (p *pageContentOutput) Reset() { } p.initMain.Reset() p.initPlain.Reset() + p.renderHooks = &renderHooks{} } func (p *pageContentOutput) Content() (interface{}, error) { @@ -377,7 +384,7 @@ func (cp *pageContentOutput) renderContentWithConverter(c converter.Converter, c converter.RenderContext{ Src: content, RenderTOC: renderTOC, - RenderHooks: cp.renderHooks, + RenderHooks: cp.renderHooks.hooks, }) if err == nil { |