tpl: Update getenv to accept interface{} params - hugo - [fork] hugo port for 9front
HTML git clone git@git.drkhsh.at/hugo.git
DIR Log
DIR Files
DIR Refs
DIR Submodules
DIR README
DIR LICENSE
---
DIR commit 34c87421b82b967a8ae85261ca9a3e9fe7b156da
DIR parent 29caaddce67943d399b2ab811fa9325e23930c26
HTML 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:
M tpl/template_funcs.go | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
---
DIR 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,