diff --git a/README.md b/README.md index ed9df0f..958c431 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ # Ministache -A spec-complete implementation of the [Mustache](https://mustache.github.io/) templating language for Arduino. A sane alternative to building up complex strings via concatenation and custom code. Very useful for embedded web servers! +A spec-complete implementation of the [Mustache](https://mustache.github.io/) template language for Arduino. The best way to generate complex text content such as HTML, with full support for all Mustache features and 100% test coverage. A sane alternative to building up complex strings via concatenation and custom code. Very useful for embedded web servers! ## Features diff --git a/examples/partials/partials.ino b/examples/partials/partials.ino index 7a3c612..53a5e87 100644 --- a/examples/partials/partials.ino +++ b/examples/partials/partials.ino @@ -29,18 +29,24 @@ void setup() { JsonDocument data; deserializeJson(data, json); - // Create a template string that renders the data for a single person. This is a *partial*. - String personString = "Name: {{name}}\tRole: {{role}}\n"; + // Create a template that renders the data for a single person. This is a *partial*. + auto personTemplate = "Name: {{name}}\tRole: {{role}}\n"; - // Create a template string that renders the data for all people. This is the main template. - // Note that it loops over a field called "people" and includes the partial "person" for each of + // Create a template that renders the data for all people. This is the main template. + // Note that it loops over a data field called "people", and includes the partial "person" for each of // them. - String reportString = "People report:\n{{#people}}{{> person}}{{/people}}"; + auto reportTemplate = R"""( + People report: + {{#people}} + {{> person}} + {{/people}} + )"""; // Render the template with the data. The third argument is the partials list. This // defines how to map a partial reference like "person" to a particular template // ("personString"). - String output = ministache::render(reportString, data, {{"person", personString}}); + ministache::PartialList partials = {{"person", personTemplate}}; + auto output = ministache::render(reportTemplate, data, partials); // Print the result Serial.println(output); diff --git a/library.json b/library.json index b9d2912..42c9cda 100644 --- a/library.json +++ b/library.json @@ -1,7 +1,7 @@ { "name": "Ministache", - "version": "1.0.0", - "description": "Ministache is a small, fast and spec-complete implementation of the Mustache templating language for Arduino. All core Mustache tags are supported: interpolation, partials, sections, inverted sections, custom delimiters, and comments.", + "version": "1.0.1", + "description": "A small, fast and spec-complete implementation of the Mustache template language for Arduino, supporting interpolation, partials, sections, inverted sections, custom delimiters, and comments.", "keywords": ["mustache", "moustache", "text", "text processor", "template", "logic-less", "html"], "repository": { "type": "git", diff --git a/library.properties b/library.properties index a4852a3..5f4825f 100644 --- a/library.properties +++ b/library.properties @@ -1,9 +1,9 @@ name=Ministache -version=1.0.0 +version=1.0.1 author=Brian Sharon maintainer=Brian Sharon -sentence=Complete implementation of a Mustache template processor for Arduino -paragraph=Ministache is a small, fast and spec-complete implementation of the Mustache templating language for Arduino. All core Mustache tags are supported: interpolation, partials, sections, inverted sections, custom delimiters, and comments. +sentence=Mustache template engine for Arduino and ESP32 - render HTML templates dynamically +paragraph=A small, fast and spec-complete implementation of the Mustache template language for Arduino, supporting interpolation, partials, sections, inverted sections, custom delimiters, and comments. category=Data Processing url=https://github.com/floatplane/ministache architectures=*