From a04abf0ddaed444ae87e6f22a3430e309e5db919 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Tue, 13 Sep 2016 17:07:52 +0200 Subject: [PATCH] tpl: Make the *langURL funcs tace interface{} Fixes #2447 --- tpl/template_funcs.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index c82b6fae8..099f9d74e 100644 --- a/tpl/template_funcs.go +++ b/tpl/template_funcs.go @@ -1907,8 +1907,14 @@ func relURL(a interface{}) (template.HTML, error) { func init() { funcMap = template.FuncMap{ - "absURL": absURL, - "absLangURL": func(a string) template.HTML { return template.HTML(helpers.AbsURL(a, true)) }, + "absURL": absURL, + "absLangURL": func(i interface{}) (template.HTML, error) { + s, err := cast.ToStringE(i) + if err != nil { + return "", err + } + return template.HTML(helpers.AbsURL(s, true)), nil + }, "add": func(a, b interface{}) (interface{}, error) { return helpers.DoArithmetic(a, b, '+') }, "after": after, "apply": apply, @@ -1962,7 +1968,13 @@ func init() { "readFile": readFileFromWorkingDir, "ref": ref, "relURL": relURL, - "relLangURL": func(a string) template.HTML { return template.HTML(helpers.RelURL(a, true)) }, + "relLangURL": func(i interface{}) (template.HTML, error) { + s, err := cast.ToStringE(i) + if err != nil { + return "", err + } + return template.HTML(helpers.RelURL(s, true)), nil + }, "relref": relRef, "replace": replace, "replaceRE": replaceRE,