From: Bjørn Erik Pedersen Date: Wed, 6 Jul 2016 18:57:37 +0000 (+0200) Subject: Simplify querify X-Git-Tag: v0.17~254 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=39fe42cf6b0032712e2fa97f86accd4a29ad9d24;p=brevno-suite%2Fhugo Simplify querify --- diff --git a/tpl/template_funcs.go b/tpl/template_funcs.go index fc9fc1f6..ea1ce8a5 100644 --- a/tpl/template_funcs.go +++ b/tpl/template_funcs.go @@ -1746,19 +1746,19 @@ func sha1(in interface{}) (string, error) { return hex.EncodeToString(hash[:]), nil } -// querify converts the given parameters into a url.Values object -func querify(params ...interface{}) (url.Values, error) { +// querify encodes the given parameters “URL encoded” form ("bar=baz&foo=quux") sorted by key. +func querify(params ...interface{}) (string, error) { qs := url.Values{} vals, err := dictionary(params...) if err != nil { - return url.Values{}, fmt.Errorf("querify keys must be strings") + return "", fmt.Errorf("querify keys must be strings") } for name, value := range vals { qs.Add(name, url.QueryEscape(fmt.Sprintf("%v", value))) } - return qs, nil + return qs.Encode(), nil } func init() { diff --git a/tpl/template_funcs_test.go b/tpl/template_funcs_test.go index bccee4c9..32e6e50f 100644 --- a/tpl/template_funcs_test.go +++ b/tpl/template_funcs_test.go @@ -103,7 +103,7 @@ modBool: {{modBool 15 3}} mul: {{mul 2 3}} plainify: {{ plainify "Hello world, gophers!" }} pluralize: {{ "cat" | pluralize }} -querify: {{ (querify "foo" 1 "bar" 2 "baz" "with spaces").Encode | safeHTML }} +querify: {{ (querify "foo" 1 "bar" 2 "baz" "with spaces") | safeHTML }} readDir: {{ range (readDir ".") }}{{ .Name }}{{ end }} readFile: {{ readFile "README.txt" }} relURL 1: {{ "http://gohugo.io/" | relURL }}