shithub: hugo

Download patch

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 }}
--