|
@@ -47,6 +47,7 @@ type (
|
|
|
RouterGroup
|
|
RouterGroup
|
|
|
delims render.Delims
|
|
delims render.Delims
|
|
|
HTMLRender render.HTMLRender
|
|
HTMLRender render.HTMLRender
|
|
|
|
|
+ FuncMap template.FuncMap
|
|
|
allNoRoute HandlersChain
|
|
allNoRoute HandlersChain
|
|
|
allNoMethod HandlersChain
|
|
allNoMethod HandlersChain
|
|
|
noRoute HandlersChain
|
|
noRoute HandlersChain
|
|
@@ -112,6 +113,7 @@ func New() *Engine {
|
|
|
basePath: "/",
|
|
basePath: "/",
|
|
|
root: true,
|
|
root: true,
|
|
|
},
|
|
},
|
|
|
|
|
+ FuncMap: template.FuncMap{},
|
|
|
RedirectTrailingSlash: true,
|
|
RedirectTrailingSlash: true,
|
|
|
RedirectFixedPath: false,
|
|
RedirectFixedPath: false,
|
|
|
HandleMethodNotAllowed: false,
|
|
HandleMethodNotAllowed: false,
|
|
@@ -147,19 +149,19 @@ func (engine *Engine) Delims(left, right string) *Engine {
|
|
|
|
|
|
|
|
func (engine *Engine) LoadHTMLGlob(pattern string) {
|
|
func (engine *Engine) LoadHTMLGlob(pattern string) {
|
|
|
if IsDebugging() {
|
|
if IsDebugging() {
|
|
|
- debugPrintLoadTemplate(template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).ParseGlob(pattern)))
|
|
|
|
|
- engine.HTMLRender = render.HTMLDebug{Glob: pattern, Delims: engine.delims}
|
|
|
|
|
|
|
+ debugPrintLoadTemplate(template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).Funcs(engine.FuncMap).ParseGlob(pattern)))
|
|
|
|
|
+ engine.HTMLRender = render.HTMLDebug{Glob: pattern, FuncMap: engine.FuncMap, Delims: engine.delims}
|
|
|
} else {
|
|
} else {
|
|
|
- templ := template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).ParseGlob(pattern))
|
|
|
|
|
|
|
+ templ := template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).Funcs(engine.FuncMap).ParseGlob(pattern))
|
|
|
engine.SetHTMLTemplate(templ)
|
|
engine.SetHTMLTemplate(templ)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
func (engine *Engine) LoadHTMLFiles(files ...string) {
|
|
func (engine *Engine) LoadHTMLFiles(files ...string) {
|
|
|
if IsDebugging() {
|
|
if IsDebugging() {
|
|
|
- engine.HTMLRender = render.HTMLDebug{Files: files, Delims: engine.delims}
|
|
|
|
|
|
|
+ engine.HTMLRender = render.HTMLDebug{Files: files, FuncMap: engine.FuncMap, Delims: engine.delims}
|
|
|
} else {
|
|
} else {
|
|
|
- templ := template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).ParseFiles(files...))
|
|
|
|
|
|
|
+ templ := template.Must(template.New("").Delims(engine.delims.Left, engine.delims.Right).Funcs(engine.FuncMap).ParseFiles(files...))
|
|
|
engine.SetHTMLTemplate(templ)
|
|
engine.SetHTMLTemplate(templ)
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -169,7 +171,11 @@ func (engine *Engine) SetHTMLTemplate(templ *template.Template) {
|
|
|
debugPrintWARNINGSetHTMLTemplate()
|
|
debugPrintWARNINGSetHTMLTemplate()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- engine.HTMLRender = render.HTMLProduction{Template: templ}
|
|
|
|
|
|
|
+ engine.HTMLRender = render.HTMLProduction{Template: templ.Funcs(engine.FuncMap)}
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+func (engine *Engine) SetFuncMap(funcMap template.FuncMap) {
|
|
|
|
|
+ engine.FuncMap = funcMap
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// NoRoute adds handlers for NoRoute. It return a 404 code by default.
|
|
// NoRoute adds handlers for NoRoute. It return a 404 code by default.
|