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
path: root/tpl
diff options
context:
space:
mode:
authorTatsushi Demachi <tdemachi@gmail.com>2014-09-30 05:19:50 +0400
committerspf13 <steve.francia@gmail.com>2014-12-03 17:38:36 +0300
commita0d956c2ad7371d989fc192e122f0097b07a5b01 (patch)
tree15ef93197a980660ae8d3a647c28fb1c818d166e /tpl
parent390c158f4e934278e22f2700fcfc1644de402f97 (diff)
Add Ace template engine support
Diffstat (limited to 'tpl')
-rw-r--r--tpl/template.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/tpl/template.go b/tpl/template.go
index 9ea84dea8..f61376552 100644
--- a/tpl/template.go
+++ b/tpl/template.go
@@ -30,6 +30,7 @@ import (
"github.com/spf13/cast"
"github.com/spf13/hugo/helpers"
jww "github.com/spf13/jwalterweatherman"
+ "github.com/yosssi/ace"
)
var localTemplates *template.Template
@@ -669,6 +670,24 @@ func (t *GoHtmlTemplate) AddTemplateFile(name, path string) error {
if _, err := compiler.CompileWithTemplate(t.New(name)); err != nil {
return err
}
+ case ".ace":
+ b, err := ioutil.ReadFile(path)
+ if err != nil {
+ return err
+ }
+ name = name[:len(name)-len(ext)] + ".html"
+ base := ace.NewFile(path, b)
+ inner := ace.NewFile("", []byte{})
+ rslt, err := ace.ParseSource(ace.NewSource(base, inner, []*ace.File{}), nil)
+ if err != nil {
+ t.errors = append(t.errors, &templateErr{name: name, err: err})
+ return err
+ }
+ _, err = ace.CompileResultWithTemplate(t.New(name), rslt, nil)
+ if err != nil {
+ t.errors = append(t.errors, &templateErr{name: name, err: err})
+ }
+ return err
default:
b, err := ioutil.ReadFile(path)
if err != nil {