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 'tpl/template.go')
-rw-r--r--tpl/template.go29
1 files changed, 20 insertions, 9 deletions
diff --git a/tpl/template.go b/tpl/template.go
index 2d8ed2943..275ec6b8f 100644
--- a/tpl/template.go
+++ b/tpl/template.go
@@ -213,11 +213,16 @@ func (t *GoHTMLTemplate) AddInternalShortcode(name, content string) error {
func (t *GoHTMLTemplate) AddTemplate(name, tpl string) error {
t.checkState()
- _, err := t.New(name).Parse(tpl)
+ templ, err := t.New(name).Parse(tpl)
if err != nil {
t.errors = append(t.errors, &templateErr{name: name, err: err})
+ return err
}
- return err
+ if err := applyTemplateTransformers(templ); err != nil {
+ return err
+ }
+
+ return nil
}
func (t *GoHTMLTemplate) AddTemplateFileWithMaster(name, overlayFilename, masterFilename string) error {
@@ -264,7 +269,11 @@ func (t *GoHTMLTemplate) AddTemplateFileWithMaster(name, overlayFilename, master
// The extra lookup is a workaround, see
// * https://github.com/golang/go/issues/16101
// * https://github.com/spf13/hugo/issues/2549
- t.overlays[name] = overlayTpl.Lookup(overlayTpl.Name())
+ overlayTpl = overlayTpl.Lookup(overlayTpl.Name())
+ if err := applyTemplateTransformers(overlayTpl); err != nil {
+ return err
+ }
+ t.overlays[name] = overlayTpl
}
return err
@@ -291,11 +300,12 @@ func (t *GoHTMLTemplate) AddAceTemplate(name, basePath, innerPath string, baseCo
t.errors = append(t.errors, &templateErr{name: name, err: err})
return err
}
- _, err = ace.CompileResultWithTemplate(t.New(name), parsed, nil)
+ templ, err := ace.CompileResultWithTemplate(t.New(name), parsed, nil)
if err != nil {
t.errors = append(t.errors, &templateErr{name: name, err: err})
+ return err
}
- return err
+ return applyTemplateTransformers(templ)
}
func (t *GoHTMLTemplate) AddTemplateFile(name, baseTemplatePath, path string) error {
@@ -317,9 +327,12 @@ func (t *GoHTMLTemplate) AddTemplateFile(name, baseTemplatePath, path string) er
return err
}
- if _, err := compiler.CompileWithTemplate(t.New(templateName)); err != nil {
+ templ, err := compiler.CompileWithTemplate(t.New(templateName))
+ if err != nil {
return err
}
+
+ return applyTemplateTransformers(templ)
case ".ace":
var innerContent, baseContent []byte
innerContent, err := afero.ReadFile(hugofs.Source(), path)
@@ -353,8 +366,6 @@ func (t *GoHTMLTemplate) AddTemplateFile(name, baseTemplatePath, path string) er
return t.AddTemplate(name, string(b))
}
- return nil
-
}
func (t *GoHTMLTemplate) GenerateTemplateNameFrom(base, path string) string {
@@ -467,7 +478,7 @@ func (t *GoHTMLTemplate) loadTemplates(absPath string, prefix string) {
}
if err := t.AddTemplateFile(tplName, baseTemplatePath, path); err != nil {
- jww.ERROR.Printf("Failed to add template %s: %s", tplName, err)
+ jww.ERROR.Printf("Failed to add template %s in path %s: %s", tplName, path, err)
}
}