aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tpl/transform/transform_integration_test.go20
-rw-r--r--tpl/transform/unmarshal.go3
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
}