shithub: hugo

Download patch

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,