init template

This commit is contained in:
andrey1s
2022-10-02 23:31:19 +03:00
parent 3d5d51b2df
commit 621afcc59c
24 changed files with 969 additions and 0 deletions

25
gotxt/engine/engine.go Normal file
View File

@@ -0,0 +1,25 @@
package engine
import (
"fmt"
text "text/template"
"gitoa.ru/go-4devs/mime"
"gitoa.ru/go-4devs/templating/engine"
"gitoa.ru/go-4devs/templating/loader"
)
const Name = "gotxt"
func Parser(source loader.Source) (engine.Template, error) {
tpl, err := text.New(source.Name()).Parse(source.Data())
if err != nil {
return nil, fmt.Errorf("parse text:%w", engine.ErrNotSupport)
}
return engine.NewTemplate(tpl.Name(), tpl.Execute), nil
}
func New(opts ...engine.Option) *engine.Engine {
return engine.New(Name, Parser, append(opts, engine.WithFormats(mime.ExtTxt, mime.ExtText))...)
}