From e1b6815b8cefe704e19d2a4be56a191d83b1d728 Mon Sep 17 00:00:00 2001 From: Tyler Akins Date: Wed, 6 May 2015 10:13:39 -0500 Subject: [PATCH] Clarifying documentation This helps to close issue #5 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 24f43c4..cd358a2 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Pull requests to solve the following issues would be helpful. ### Mustache Syntax -* Dotted names are not supported and this means associative arrays are not addressable via their index. Partly this is because our target (Bash 3) does not support associative arrays. +* Dotted names are supported but only for associative arrays (Bash 4). See [`demo/associative-arrays`](demo/associative-arrays) for an example. * There's no "top level" object, so `echo '{.}' | ./mo` does not do anything useful. In other languages you can say the data for the template is a string and in `mo` the data is always the environment. Luckily this type of usage is rare and `{.}` works great when iterating over an array. * HTML encoding is not built into `mo`. `{{{var}}}`, `{{&var}}` and `{{var}}` all do the same thing. `echo '{{TEST}}' | TEST='' mo` will give you "``" instead of "`>b<`". * You can not change the delimiters. @@ -78,7 +78,7 @@ Pull requests to solve the following issues would be helpful. ### General Scripting Issues * Using binary files as templates is simply not allowed. -* Bash does not support nested structures like fancy objects. The best you can do are arrays. I'm not able to add super complex structures to bash - it's just a shell after all! +* Bash does not support anything more complex than strings/numbers inside of associative arrays. I'm not able to add objects nor nested arrays to bash - it's just a shell after all! * You must make sure the data is in the environment when `mo` runs. The easiest way to do that is to source `mo` in your shell script after setting up lots of other environment variables / functions.