diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-09-29 14:51:51 +0200 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-09-29 23:22:41 +0200 |
commit | 329e88db1f6d043d32c7083570773dccfd4f11fc (patch) | |
tree | a4bab342aa28523be8c854ceb88fece17f634410 /tpl/urls | |
parent | e073f4efb1345f6408000ef3f389873f8cf7179e (diff) |
Support typed bool, int and float in shortcode params
This means that you now can do:
{{< vidur 9KvBeKu false true 32 3.14 >}}
And the boolean and numeric values will be converted to `bool`, `int` and `float64`.
If you want these to be strings, they must be quoted:
{{< vidur 9KvBeKu "false" "true" "32" "3.14" >}}
Fixes #6371
Diffstat (limited to 'tpl/urls')
-rw-r--r-- | tpl/urls/urls.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tpl/urls/urls.go b/tpl/urls/urls.go index 754114b2b..eaa6538b3 100644 --- a/tpl/urls/urls.go +++ b/tpl/urls/urls.go @@ -126,7 +126,13 @@ func (ns *Namespace) refArgsToMap(args interface{}) (map[string]interface{}, err s string of string ) - switch v := args.(type) { + + v := args + if _, ok := v.([]interface{}); ok { + v = cast.ToStringSlice(v) + } + + switch v := v.(type) { case map[string]interface{}: return v, nil case map[string]string: @@ -152,6 +158,7 @@ func (ns *Namespace) refArgsToMap(args interface{}) (map[string]interface{}, err } } + return map[string]interface{}{ "path": s, "outputFormat": of, |