From: bep <bjorn.erik.pedersen@gmail.com>
Date: Sun, 18 Jan 2015 14:16:48 +0000 (+0100)
Subject: Make all the params to Replace an interface{}
X-Git-Tag: v0.13~178
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4f4015d7;p=brevno-suite%2Fhugo

Make all the params to Replace an interface{}
---

diff --git a/tpl/template.go b/tpl/template.go
index 1ddc04b5..8d55fc89 100644
--- a/tpl/template.go
+++ b/tpl/template.go
@@ -890,12 +890,20 @@ func Trim(a interface{}, b string) (string, error) {
 }
 
 // Replace all occurences of b with c in a
-func Replace(a interface{}, b string, c string) (string, error) {
+func Replace(a, b, c interface{}) (string, error) {
 	aStr, err := cast.ToStringE(a)
 	if err != nil {
 		return "", err
 	}
-	return strings.Replace(aStr, b, c, -1), nil
+	bStr, err := cast.ToStringE(b)
+	if err != nil {
+		return "", err
+	}
+	cStr, err := cast.ToStringE(c)
+	if err != nil {
+		return "", err
+	}
+	return strings.Replace(aStr, bStr, cStr, -1), nil
 }
 
 func SafeHtml(text string) template.HTML {