From 2efc1a64c391420b1007f6e94b6ff616fb136635 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Sun, 23 Dec 2018 19:43:17 +0100 Subject: [PATCH] docs: Document transform.Unmarshal Fixes #5556 --- .../en/functions/transform.Unmarshal.md | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 docs/content/en/functions/transform.Unmarshal.md diff --git a/docs/content/en/functions/transform.Unmarshal.md b/docs/content/en/functions/transform.Unmarshal.md new file mode 100644 index 000000000..0220de5d5 --- /dev/null +++ b/docs/content/en/functions/transform.Unmarshal.md @@ -0,0 +1,50 @@ +--- +title: "transform.Unmarshal" +description: "`transform.Unmarshal` (alias `unmarshal`) parses the input and converts it into a map or an array. Supported formats are JSON, TOML, YAML and CSV." +date: 2018-12-23 +categories: [functions] +menu: + docs: + parent: "functions" +keywords: [] +signature: ["RESOURCE or STRING | transform.Unmarshal [OPTIONS]" ] +hugoversion: "0.53" +aliases: [] +--- + + +The function accept either a `Resource` created in [Hugo Pipes](/hugo-pipes/) or via [Page Bundles](content-management/page-bundles/), or simply a string. The two examples below will produce the same map: + +```go-html-template +{{ $greetings := "hello = \"Hello Hugo\"" | transform.Unmarshal }}` +``` + +```go-html-template +{{ $greetings := "hello = \"Hello Hugo\"" | resources.FromString "data/greetings.toml" | transform.Unmarshal }} +``` + +In both the above examples, you get a map you can work with: + +```go-html-template +{{ $greetings.hello }} +``` + +The above prints `Hello Hugo`. + +## CSV Options + +Unmarshal with CSV as input has some options you can set: + +comma +: The delmiter used, default is `,` + +comment +: The comment character ued in the CSV. If set, lines beginning with the comment character without preceding whitespace are ignored.: + + +Example: + +```go-html-template +{{ $csv := "a;b;c" | transform.Unmarshal (dict "comma" ";") }} +``` +