diff options
-rw-r--r-- | tpl/transform/transform_integration_test.go | 20 | ||||
-rw-r--r-- | tpl/transform/unmarshal.go | 3 |
2 files changed, 20 insertions, 3 deletions
diff --git a/tpl/transform/transform_integration_test.go b/tpl/transform/transform_integration_test.go index da8290e17..5f34ff81b 100644 --- a/tpl/transform/transform_integration_test.go +++ b/tpl/transform/transform_integration_test.go @@ -248,7 +248,7 @@ func TestToMathMacros(t *testing.T) { -- hugo.toml -- disableKinds = ['page','rss','section','sitemap','taxonomy','term'] -- layouts/index.html -- -{{ $macros := dict +{{ $macros := dict "\\addBar" "\\bar{#1}" "\\bold" "\\mathbf{#1}" }} @@ -261,3 +261,21 @@ disableKinds = ['page','rss','section','sitemap','taxonomy','term'] <mi>y</mi> `) } + +// Issue #12977 +func TestUnmarshalWithIndentedYAML(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +disableKinds = ['page','rss','section','sitemap','taxonomy','term'] +-- layouts/index.html -- +{{ $yaml := "\n a:\n b: 1\n c:\n d: 2\n" }} +{{ $yaml | transform.Unmarshal | encoding.Jsonify }} +` + + b := hugolib.Test(t, files) + + b.AssertFileExists("public/index.html", true) + b.AssertFileContent("public/index.html", `{"a":{"b":1},"c":{"d":2}}`) +} diff --git a/tpl/transform/unmarshal.go b/tpl/transform/unmarshal.go index 0068947f6..a3a9c040a 100644 --- a/tpl/transform/unmarshal.go +++ b/tpl/transform/unmarshal.go @@ -112,9 +112,8 @@ func (ns *Namespace) Unmarshal(args ...any) (any, error) { if err != nil { return nil, fmt.Errorf("type %T not supported", data) } - dataStr = strings.TrimSpace(dataStr) - if dataStr == "" { + if strings.TrimSpace(dataStr) == "" { return nil, nil } |