-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #1 from floatplane/library
Do the things to build an Arduino library
- Loading branch information
Showing
10 changed files
with
186 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Arduino Lint | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
pull_request: | ||
|
||
# The concurrency spec means that we'll only run one set of jobs per pull request or push to main. | ||
# If a new push or pull request comes in while a job is running, all jobs in the concurrency group will be cancelled. | ||
concurrency: | ||
group: arduino-lint-${{ github.head_ref || github.run_id }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
lint: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: arduino/arduino-lint-action@v1 | ||
with: | ||
compliance: strict | ||
library-manager: submit | ||
project-type: library |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
#include <Ministache.h> | ||
|
||
/*************************************************** | ||
This is a very basic example for the ministache library | ||
(https://github.com/floatplane/ministache). | ||
It shows how the library can be used to render a Mustache template with a JSON object. | ||
For more details on Mustache syntax, see http://mustache.github.io/mustache.5.html | ||
****************************************************/ | ||
|
||
void setup() { | ||
Serial.begin(115200); | ||
Serial.println(""); | ||
|
||
// Create a JsonDocument instance to hold the data that we'll use in our template | ||
JsonDocument data; | ||
data["name"] = "World"; | ||
data["value"] = 42; | ||
|
||
// Create a template string | ||
String templateString = "Hello, {{name}}! The answer is {{value}}."; | ||
|
||
// Render the template with the data | ||
String output = ministache::render(templateString, data); | ||
|
||
// Print the result | ||
Serial.println(output); | ||
|
||
// Expected output: | ||
// | ||
// Hello, World! The answer is 42. | ||
} | ||
|
||
void loop() { | ||
delay(500); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
#include <Ministache.h> | ||
|
||
/*************************************************** | ||
This is an example of how to use Mustache partials with the Ministache library | ||
(https://github.com/floatplane/ministache). | ||
For more details on Mustache syntax, see http://mustache.github.io/mustache.5.html | ||
****************************************************/ | ||
|
||
void setup() { | ||
Serial.begin(115200); | ||
Serial.println(""); | ||
|
||
// Create a JsonDocument instance to hold the data that we'll use in our template | ||
const char* json = R"""( | ||
{ | ||
"people": [ | ||
{ | ||
"name": "Alice", | ||
"role": "Engineer" | ||
}, | ||
{ | ||
"name": "Bob", | ||
"role": "Intern" | ||
} | ||
] | ||
} | ||
)"""; | ||
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 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 | ||
// them. | ||
String reportString = "People report:\n{{#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}}); | ||
|
||
// Print the result | ||
Serial.println(output); | ||
|
||
// Expected output: | ||
// | ||
// People report: | ||
// Name: Alice Role: Engineer | ||
// Name: Bob Role: Intern | ||
} | ||
|
||
void loop() { | ||
delay(500); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
ministache KEYWORD1 | ||
render KEYWORD2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
{ | ||
"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.", | ||
"keywords": ["mustache", "moustache", "text", "text processor", "template", "logic-less", "html"], | ||
"repository": { | ||
"type": "git", | ||
"url": "https://github.com/floatplane/ministache" | ||
}, | ||
"authors": [ | ||
{ | ||
"name": "Brian Sharon", | ||
"url": "https://github.com/floatplane", | ||
"maintainer": true | ||
} | ||
], | ||
"license": "MIT", | ||
"platforms": "*", | ||
"headers": "Ministache.h", | ||
"examples": [ | ||
{ | ||
"name": "Basic", | ||
"base": "examples/basic", | ||
"files": ["basic.ino"] | ||
}, | ||
{ | ||
"name": "Partials", | ||
"base": "examples/partials", | ||
"files": ["partials.ino"] | ||
} | ||
], | ||
"dependencies": { | ||
"bblanchon/ArduinoJson": "^7.0.0" | ||
}, | ||
"build": { | ||
"unflags": "-std=gnu++11", | ||
"flags": "-std=gnu++17" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
name=Ministache | ||
version=1.0.0 | ||
author=Brian Sharon <[email protected]> | ||
maintainer=Brian Sharon <[email protected]> | ||
sentence=Implementation of the Mustache templating language for Arduino | ||
paragraph=Ministache is a small, fast and spec-complete implementation of the Mustache templating language for Arduino. | ||
category=Data Processing | ||
url=https://github.com/floatplane/ministache | ||
architectures=* | ||
includes=Ministache.h | ||
depends=ArduinoJson (>=7.0.0) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,5 @@ | ||
|
||
#include "ministache.hpp" | ||
#include "Ministache.h" | ||
|
||
#include <Arduino.h> | ||
#include <ArduinoJson.h> | ||
|
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters