ref: a04abf0ddaed444ae87e6f22a3430e309e5db919
parent: 7615ef0c2866d3068b131b9d6f80f8d432d54e13
author: Bjørn Erik Pedersen <[email protected]>
date: Tue Sep 13 13:07:52 EDT 2016
tpl: Make the *langURL funcs tace interface{} Fixes #2447
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -1907,8 +1907,14 @@
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 @@
"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,