diff options
Diffstat (limited to 'docs/content/en/functions/transform.Remarshal.md')
-rw-r--r-- | docs/content/en/functions/transform.Remarshal.md | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/docs/content/en/functions/transform.Remarshal.md b/docs/content/en/functions/transform.Remarshal.md new file mode 100644 index 000000000..e1605197f --- /dev/null +++ b/docs/content/en/functions/transform.Remarshal.md @@ -0,0 +1,88 @@ +--- +title: transform.Remarshal +description: Marshals a string of serialized data, or a map, into a string of serialized data in the specified format. +categories: [functions] +menu: + docs: + parent: functions +keywords: [] +signature: [ transform.Remarshal FORMAT INPUT ] +--- + +The FORMAT must be one of `json`, `toml`, `yaml`, or `xml`. If the INPUT is a string of serialized data, it must be valid JSON, TOML, YAML, or XML. + +{{% note %}} +This function is primarily a helper for Hugo's documentation, used to convert configuration and front matter examples to JSON, TOML, and YAML. + +This is not a general purpose converter, and may change without notice if required for Hugo's documentation site. +{{% /note %}} + +Example 1 +: Convert a string of TOML to JSON. + +```go-html-template +{{ $s := ` + baseURL = 'https://example.org/' + languageCode = 'en-US' + title = 'ABC Widgets' +`}} +<pre>{{ transform.Remarshal "json" $s }}</pre> +``` + +Resulting HTML: + +```html +<pre>{ + "baseURL": "https://example.org/", + "languageCode": "en-US", + "title": "ABC Widgets" +} +</pre> +``` + +Rendered in browser: + +```text +{ + "baseURL": "https://example.org/", + "languageCode": "en-US", + "title": "ABC Widgets" +} +``` + +Example 2 +: Convert a map to YAML. + +```go-html-template +{{ $m := dict + "a" "Hugo rocks!" + "b" (dict "question" "What is 6x7?" "answer" 42) + "c" (slice "foo" "bar") +}} +<pre>{{ transform.Remarshal "yaml" $m }}</pre> +``` + +Resulting HTML: + +```html +<pre>a: Hugo rocks! +b: + answer: 42 + question: What is 6x7? +c: +- foo +- bar +</pre> +``` + +Rendered in browser: + +```text +a: Hugo rocks! +b: + answer: 42 + question: What is 6x7? +c: +- foo +- bar +``` |