shithub: hugo

Download patch

ref: 34c87421b82b967a8ae85261ca9a3e9fe7b156da
parent: 29caaddce67943d399b2ab811fa9325e23930c26
author: Cameron Moore <moorereason@gmail.com>
date: Thu Dec 22 17:05:59 EST 2016

tpl: Update getenv to accept interface{} params

Updates #2822

--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -2075,6 +2075,17 @@
 	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 @@
 		"ge":            ge,
 		"getCSV":        getCSV,
 		"getJSON":       getJSON,
-		"getenv":        func(varName string) string { return os.Getenv(varName) },
+		"getenv":        getenv,
 		"gt":            gt,
 		"hasPrefix":     hasPrefix,
 		"highlight":     highlight,
--