Simplify querify
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 6 Jul 2016 18:57:37 +0000 (20:57 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 6 Jul 2016 18:57:37 +0000 (20:57 +0200)
tpl/template_funcs.go
tpl/template_funcs_test.go

index fc9fc1f6451cf5d4d66084dc157e11095b7d8d79..ea1ce8a5131deab94d8f51fd57d1bd30724ad06d 100644 (file)
@@ -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() {
index bccee4c9ef188442ccb6e3dc6e0b5f7cdf5aacf1..32e6e50f50574a1bedd4db3d78dfcd304951ff8b 100644 (file)
@@ -103,7 +103,7 @@ modBool: {{modBool 15 3}}
 mul: {{mul 2 3}}
 plainify: {{ plainify  "Hello <strong>world</strong>, 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 }}