diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/router/router.go | 3 | ||||
| -rw-r--r-- | internal/router/template.go | 11 | ||||
| -rw-r--r-- | internal/web/base.go | 4 | 
3 files changed, 18 insertions, 0 deletions
diff --git a/internal/router/router.go b/internal/router/router.go index a77b7071e..87a84922c 100644 --- a/internal/router/router.go +++ b/internal/router/router.go @@ -126,6 +126,9 @@ func New(cfg *config.Config, db db.DB, logger *logrus.Logger) (Router, error) {  		return nil, err  	} +	// set template functions +	loadTemplateFunctions(engine) +  	// load templates onto the engine  	if err := loadTemplates(cfg, engine); err != nil {  		return nil, err diff --git a/internal/router/template.go b/internal/router/template.go index cd1eb11db..787ade799 100644 --- a/internal/router/template.go +++ b/internal/router/template.go @@ -2,6 +2,7 @@ package router  import (  	"fmt" +	"html/template"  	"os"  	"path/filepath" @@ -21,3 +22,13 @@ func loadTemplates(cfg *config.Config, engine *gin.Engine) error {  	engine.LoadHTMLGlob(tmPath)  	return nil  } + +func noescape(str string) template.HTML { +	return template.HTML(str) +} + +func loadTemplateFunctions(engine *gin.Engine) { +	engine.SetFuncMap(template.FuncMap{ +		"noescape": noescape, +	}) +} diff --git a/internal/web/base.go b/internal/web/base.go index 8b2152767..9eea4a6ef 100644 --- a/internal/web/base.go +++ b/internal/web/base.go @@ -101,5 +101,9 @@ func (m *Module) Route(s router.Router) error {  	// 404 handler  	s.AttachNoRouteHandler(m.NotFoundHandler) +	if err != nil { +		return fmt.Errorf("error setting router FuncMap: %s", err) +	} +  	return nil  }  | 
