| Index: pkg/mustache/README.md
|
| diff --git a/pkg/mustache/README.md b/pkg/mustache/README.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..d47c066a1dee12e54cac554ccf7e4ef4f48b9db5
|
| --- /dev/null
|
| +++ b/pkg/mustache/README.md
|
| @@ -0,0 +1,63 @@
|
| +# Mustache templates
|
| +
|
| +A Dart library to parse and render [mustache templates](http://mustache.github.com/mustache.5.html).
|
| +
|
| +[](https://drone.io/github.com/xxgreg/mustache/latest)
|
| +
|
| +## Example
|
| +```dart
|
| + import 'package:mustache/mustache.dart' as mustache;
|
| +
|
| + main() {
|
| + var source = '{{#names}}<div>{{lastname}}, {{firstname}}</div>{{/names}}';
|
| + var template = mustache.parse(source);
|
| + var output = template.renderString({'names': [
|
| + {'firstname': 'Greg', 'lastname': 'Lowe'},
|
| + {'firstname': 'Bob', 'lastname': 'Johnson'}
|
| + ]});
|
| + print(output);
|
| + }
|
| +```
|
| +
|
| +## API
|
| +
|
| +```dart
|
| +
|
| +Template parse(String source, {bool lenient : false});
|
| +
|
| +abstract class Template {
|
| + String renderString(values, {bool lenient : false, bool htmlEscapeValues : true});
|
| + void render(values, StringSink sink, {bool lenient : false, bool htmlEscapeValues : true});
|
| +}
|
| +
|
| +```
|
| +
|
| +Once a template has been created it can be rendered any number of times.
|
| +
|
| +Both parse and render throw a FormatException if there is a problem with the template or rendering the values.
|
| +
|
| +When lenient mode is enabled tag names may use any characters, otherwise only a-z, A-Z, 0-9, underscore and minus. Lenient mode will also silently ignore nulls passed as values.
|
| +
|
| +By default all variables are html escaped, this behaviour can be changed by passing htmlEscapeValues : false.
|
| +
|
| +
|
| +## Supported
|
| +```
|
| + Variables {{var-name}}
|
| + Sections {{#section}}Blah{{/section}}
|
| + Inverse sections {{^section}}Blah{{/section}}
|
| + Comments {{! Not output. }}
|
| + Unescaped variables {{{var-name}}} and {{&var-name}}
|
| +```
|
| +See the [mustache templates tutorial](http://mustache.github.com/mustache.5.html) for more information.
|
| +
|
| +Passing all [mustache specification](https://github.com/mustache/spec/tree/master/specs) tests for interpolation, sections, inverted, comments. The following sections are not implemented: partials, lambdas and delimeters.
|
| +
|
| +## To do
|
| +```
|
| +Lenient nulls in inverse sections - see commented out test.
|
| +Partial tags {{>partial}}
|
| +Allow functions as values (Lambdas)
|
| +Set Delimiter tags
|
| +```
|
| +
|
|
|