diff options
author | Tatsushi Demachi <tdemachi@gmail.com> | 2014-09-30 05:19:50 +0400 |
---|---|---|
committer | spf13 <steve.francia@gmail.com> | 2014-12-03 17:38:36 +0300 |
commit | a0d956c2ad7371d989fc192e122f0097b07a5b01 (patch) | |
tree | 15ef93197a980660ae8d3a647c28fb1c818d166e /tpl | |
parent | 390c158f4e934278e22f2700fcfc1644de402f97 (diff) |
Add Ace template engine support
Diffstat (limited to 'tpl')
-rw-r--r-- | tpl/template.go | 19 |
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 { |