Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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
}