diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-09-29 15:51:51 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2019-09-30 00:22:41 +0300 |
commit | 329e88db1f6d043d32c7083570773dccfd4f11fc (patch) | |
tree | a4bab342aa28523be8c854ceb88fece17f634410 /tpl | |
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')
-rw-r--r-- | tpl/tplimpl/embedded/templates.autogen.go | 2 | ||||
-rw-r--r-- | tpl/tplimpl/embedded/templates/shortcodes/twitter.html | 2 | ||||
-rw-r--r-- | tpl/urls/urls.go | 9 |
3 files changed, 10 insertions, 3 deletions
diff --git a/tpl/tplimpl/embedded/templates.autogen.go b/tpl/tplimpl/embedded/templates.autogen.go index 0b57077bb..50016764f 100644 --- a/tpl/tplimpl/embedded/templates.autogen.go +++ b/tpl/tplimpl/embedded/templates.autogen.go @@ -422,7 +422,7 @@ if (!doNotTrack) { {{- if $pc.Simple -}} {{ template "_internal/shortcodes/twitter_simple.html" . }} {{- else -}} -{{- $url := printf "https://api.twitter.com/1/statuses/oembed.json?id=%s&dnt=%t" (index .Params 0) $pc.EnableDNT -}} +{{- $url := printf "https://api.twitter.com/1/statuses/oembed.json?id=%v&dnt=%t" (index .Params 0) $pc.EnableDNT -}} {{- $json := getJSON $url -}} {{ $json.html | safeHTML }} {{- end -}} diff --git a/tpl/tplimpl/embedded/templates/shortcodes/twitter.html b/tpl/tplimpl/embedded/templates/shortcodes/twitter.html index ea7f10c38..e2c4983d7 100644 --- a/tpl/tplimpl/embedded/templates/shortcodes/twitter.html +++ b/tpl/tplimpl/embedded/templates/shortcodes/twitter.html @@ -3,7 +3,7 @@ {{- if $pc.Simple -}} {{ template "_internal/shortcodes/twitter_simple.html" . }} {{- else -}} -{{- $url := printf "https://api.twitter.com/1/statuses/oembed.json?id=%s&dnt=%t" (index .Params 0) $pc.EnableDNT -}} +{{- $url := printf "https://api.twitter.com/1/statuses/oembed.json?id=%v&dnt=%t" (index .Params 0) $pc.EnableDNT -}} {{- $json := getJSON $url -}} {{ $json.html | safeHTML }} {{- end -}} 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, |