hugo

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

git clone git://git.shimmy1996.com/hugo.git
commit 34c87421b82b967a8ae85261ca9a3e9fe7b156da
parent 29caaddce67943d399b2ab811fa9325e23930c26
Author: Cameron Moore <moorereason@gmail.com>
Date:   Thu, 22 Dec 2016 22:05:59 -0600

tpl: Update getenv to accept interface{} params

Updates #2822

Diffstat:
Mtpl/template_funcs.go | 13++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go
@@ -2075,6 +2075,17 @@ func relURL(a interface{}) (template.HTML, error) {
 	return template.HTML(helpers.CurrentPathSpec().RelURL(s, false)), nil
 }
 
+// getenv retrieves the value of the environment variable named by the key.
+// It returns the value, which will be empty if the variable is not present.
+func getenv(key interface{}) (string, error) {
+	skey, err := cast.ToStringE(key)
+	if err != nil {
+		return "", nil
+	}
+
+	return os.Getenv(skey), nil
+}
+
 func initFuncMap() {
 	funcMap = template.FuncMap{
 		"absURL": absURL,
@@ -2106,7 +2117,7 @@ func initFuncMap() {
 		"ge":            ge,
 		"getCSV":        getCSV,
 		"getJSON":       getJSON,
-		"getenv":        func(varName string) string { return os.Getenv(varName) },
+		"getenv":        getenv,
 		"gt":            gt,
 		"hasPrefix":     hasPrefix,
 		"highlight":     highlight,