|
@@ -8,6 +8,8 @@ import (
|
|
|
"gopkg.in/flosch/pongo2.v3"
|
|
"gopkg.in/flosch/pongo2.v3"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
|
|
+type FuncMap map[string]interface{}
|
|
|
|
|
+
|
|
|
type SqlTemplate interface {
|
|
type SqlTemplate interface {
|
|
|
WalkFunc(path string, info os.FileInfo, err error) error
|
|
WalkFunc(path string, info os.FileInfo, err error) error
|
|
|
paresSqlTemplate(filename string, filepath string) error
|
|
paresSqlTemplate(filename string, filepath string) error
|
|
@@ -26,31 +28,38 @@ type SqlTemplate interface {
|
|
|
BatchAddSqlTemplate(key string, sqlTemplateStrMap map[string]string) error
|
|
BatchAddSqlTemplate(key string, sqlTemplateStrMap map[string]string) error
|
|
|
BatchUpdateSqlTemplate(key string, sqlTemplateStrMap map[string]string) error
|
|
BatchUpdateSqlTemplate(key string, sqlTemplateStrMap map[string]string) error
|
|
|
BatchRemoveSqlTemplate(key []string)
|
|
BatchRemoveSqlTemplate(key []string)
|
|
|
|
|
+ SetFuncs(key string, funcMap FuncMap)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func Pongo2(directory, extension string) *Pongo2Template {
|
|
func Pongo2(directory, extension string) *Pongo2Template {
|
|
|
template := make(map[string]*pongo2.Template, 100)
|
|
template := make(map[string]*pongo2.Template, 100)
|
|
|
|
|
+ funcs := make(map[string]FuncMap, 20)
|
|
|
return &Pongo2Template{
|
|
return &Pongo2Template{
|
|
|
SqlTemplateRootDir: directory,
|
|
SqlTemplateRootDir: directory,
|
|
|
extension: extension,
|
|
extension: extension,
|
|
|
Template: template,
|
|
Template: template,
|
|
|
|
|
+ Funcs: funcs,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func Default(directory, extension string) *HTMLTemplate {
|
|
func Default(directory, extension string) *HTMLTemplate {
|
|
|
template := make(map[string]*template.Template, 100)
|
|
template := make(map[string]*template.Template, 100)
|
|
|
|
|
+ funcs := make(map[string]FuncMap, 20)
|
|
|
return &HTMLTemplate{
|
|
return &HTMLTemplate{
|
|
|
SqlTemplateRootDir: directory,
|
|
SqlTemplateRootDir: directory,
|
|
|
extension: extension,
|
|
extension: extension,
|
|
|
Template: template,
|
|
Template: template,
|
|
|
|
|
+ Funcs: funcs,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func Jet(directory, extension string) *JetTemplate {
|
|
func Jet(directory, extension string) *JetTemplate {
|
|
|
template := make(map[string]*jet.Template, 100)
|
|
template := make(map[string]*jet.Template, 100)
|
|
|
|
|
+ funcs := make(map[string]FuncMap, 20)
|
|
|
return &JetTemplate{
|
|
return &JetTemplate{
|
|
|
SqlTemplateRootDir: directory,
|
|
SqlTemplateRootDir: directory,
|
|
|
extension: extension,
|
|
extension: extension,
|
|
|
Template: template,
|
|
Template: template,
|
|
|
|
|
+ Funcs: funcs,
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|