summaryrefslogtreecommitdiffstats
path: root/hugolib/page__output.go
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-05-24 13:03:32 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2020-05-24 13:20:57 +0200
commit9698b0dab11f52d52145e85ff71311d2f103cb4e (patch)
tree29747eb4d36a3bf34f667c6182291dde2846b6b1 /hugolib/page__output.go
parent32344fe3db862584e3f926d63bdf33b7fa7d22f7 (diff)
Fix RenderString vs render hooks
Fixes #7265
Diffstat (limited to 'hugolib/page__output.go')
-rw-r--r--hugolib/page__output.go32
1 files changed, 18 insertions, 14 deletions
diff --git a/hugolib/page__output.go b/hugolib/page__output.go
index 7d5b78aae..1792e8d6a 100644
--- a/hugolib/page__output.go
+++ b/hugolib/page__output.go
@@ -96,24 +96,28 @@ func (o *pageOutput) initRenderHooks() error {
return nil
}
- ps := o.cp.p
+ var initErr error
- c := ps.getContentConverter()
- if c == nil || !c.Supports(converter.FeatureRenderHooks) {
- return nil
- }
+ o.cp.renderHooks.init.Do(func() {
+ ps := o.cp.p
- h, err := ps.createRenderHooks(o.f)
- if err != nil {
- return err
- }
- if h == nil {
- return nil
- }
+ c := ps.getContentConverter()
+ if c == nil || !c.Supports(converter.FeatureRenderHooks) {
+ return
+ }
+
+ h, err := ps.createRenderHooks(o.f)
+ if err != nil {
+ initErr = err
+ }
+ if h == nil {
+ return
+ }
- o.cp.renderHooks = h
+ o.cp.renderHooks.hooks = h
+ })
- return nil
+ return initErr
}