ref: 39fe42cf6b0032712e2fa97f86accd4a29ad9d24
parent: fbf48824aeab6833c1550d9e6bf1b99c3d84cb75
author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
date: Wed Jul 6 16:57:37 EDT 2016
Simplify querify
--- a/tpl/template_funcs.go
+++ b/tpl/template_funcs.go
@@ -1746,12 +1746,12 @@
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 {
@@ -1758,7 +1758,7 @@
qs.Add(name, url.QueryEscape(fmt.Sprintf("%v", value)))
}
- return qs, nil
+ return qs.Encode(), nil
}
func init() {
--- a/tpl/template_funcs_test.go
+++ b/tpl/template_funcs_test.go
@@ -103,7 +103,7 @@
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 }}
--
⑨