From: Sean Prashad Date: Sun, 21 Oct 2018 02:44:15 +0000 (-0400) Subject: tpl: Update Jsonify to return pretty-print output X-Git-Tag: v0.50~49 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=5a52cd5f920bb3d067ab1682adece9f813c67ba1;p=brevno-suite%2Fhugo tpl: Update Jsonify to return pretty-print output Fixes #5040 --- diff --git a/docs/content/en/functions/jsonify.md b/docs/content/en/functions/jsonify.md index 5c670244..98ad3c78 100644 --- a/docs/content/en/functions/jsonify.md +++ b/docs/content/en/functions/jsonify.md @@ -1,7 +1,7 @@ --- title: jsonify linktitle: jsonify -description: Encodes a given object to JSON. +description: Encodes a given object to JSON, returning pretty printed output. godocref: date: 2017-02-01 publishdate: 2017-02-01 diff --git a/tpl/encoding/encoding.go b/tpl/encoding/encoding.go index 4b02c426..d9c2bdfd 100644 --- a/tpl/encoding/encoding.go +++ b/tpl/encoding/encoding.go @@ -50,9 +50,9 @@ func (ns *Namespace) Base64Encode(content interface{}) (string, error) { return base64.StdEncoding.EncodeToString([]byte(conv)), nil } -// Jsonify encodes a given object to JSON. +// Jsonify encodes a given object to JSON, returning pretty printed output. func (ns *Namespace) Jsonify(v interface{}) (template.HTML, error) { - b, err := json.Marshal(v) + b, err := json.MarshalIndent(v, "", " ") if err != nil { return "", err } diff --git a/tpl/encoding/encoding_test.go b/tpl/encoding/encoding_test.go index 8242561b..fdb12e34 100644 --- a/tpl/encoding/encoding_test.go +++ b/tpl/encoding/encoding_test.go @@ -88,7 +88,7 @@ func TestJsonify(t *testing.T) { v interface{} expect interface{} }{ - {[]string{"a", "b"}, template.HTML(`["a","b"]`)}, + {[]string{"a", "b"}, template.HTML("[\n \"a\",\n \"b\"\n]")}, {tstNoStringer{}, template.HTML("{}")}, {nil, template.HTML("null")}, // errors diff --git a/tpl/encoding/init.go b/tpl/encoding/init.go index bad1804d..902a2b00 100644 --- a/tpl/encoding/init.go +++ b/tpl/encoding/init.go @@ -47,7 +47,7 @@ func init() { ns.AddMethodMapping(ctx.Jsonify, []string{"jsonify"}, [][2]string{ - {`{{ (slice "A" "B" "C") | jsonify }}`, `["A","B","C"]`}, + {`{{ (slice "A" "B" "C") | jsonify }}`, "[\n \"A\",\n \"B\",\n \"C\"\n]"}, }, )