tpl: Fix echoParam
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 7 Sep 2016 19:03:09 +0000 (22:03 +0300)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 7 Sep 2016 19:03:09 +0000 (22:03 +0300)
Fixes #2406

tpl/template_funcs.go
tpl/template_funcs_test.go

index 41e616b1b3875ad324caa9c771405e14f9c252df..b5b33bef0cfe9005104b74013eddc761573b3a3c 100644 (file)
@@ -1178,6 +1178,12 @@ func returnWhenSet(a, k interface{}) interface{} {
                }
        }
 
+       avv, isNil = indirect(avv)
+
+       if isNil {
+               return ""
+       }
+
        if avv.IsValid() {
                switch avv.Kind() {
                case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
index 3df38f380fa4aadcdb9970fe679d83dbcba638ad..eee4c36f21cccc9c3cc8dae0b9fd1efe32835f15 100644 (file)
@@ -94,6 +94,7 @@ chomp: {{chomp "<p>Blockhead</p>\n" }}
 dateFormat: {{ dateFormat "Monday, Jan 2, 2006" "2015-01-21" }}
 delimit: {{ delimit (slice "A" "B" "C") ", " " and " }}
 div: {{div 6 3}}
+echoParam: {{ echoParam .Params "langCode" }}
 emojify: {{ "I :heart: Hugo" | emojify }}
 eq: {{ if eq .Section "blog" }}current{{ end }}
 findRE: {{ findRE "[G|g]o" "Hugo is a static side generator written in Go." 1 }}
@@ -162,6 +163,7 @@ chomp: <p>Blockhead</p>
 dateFormat: Wednesday, Jan 21, 2015
 delimit: A, B and C
 div: 2
+echoParam: en
 emojify: I ❤️ Hugo
 eq: current
 findRE: [go]
@@ -223,10 +225,12 @@ urlize: bat-man
        var data struct {
                Title   string
                Section string
+               Params  map[string]interface{}
        }
 
        data.Title = "**BatMan**"
        data.Section = "blog"
+       data.Params = map[string]interface{}{"langCode": "en"}
 
        viper.Set("baseURL", "http://mysite.com/hugo/")