hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit a04abf0ddaed444ae87e6f22a3430e309e5db919
parent 7615ef0c2866d3068b131b9d6f80f8d432d54e13
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date:   Tue, 13 Sep 2016 17:07:52 +0200

tpl: Make the *langURL funcs tace interface{}

Fixes #2447

Diffstat:
Mtpl/template_funcs.go | 18+++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git 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,