RNA is a handlebars-based code generator.
npm install rnaRNA
===
RNA is a template/model based code generator.
It takes mustash templates and json models to generate code.
``shell
Usage: rna [--dir working_directory]
rna [--dir working_directory]
model:
supported formats:
- json
template:
supported formats:
- handlebars template
rna_config_file:
supported formats:
- json
possible objects:
{
model:
template:
output:
}
or
{
RnaConf: {
model:
template:
output:
}
}
The advantage of using the second form is to be able tu have the same file for
the rna configuration and the model.
`
You can use everything Handlebars has to offer.
Your model must be a valid json object. (JSON.parse compliant).
There are two helpers available: $files and $custom.
#### $files
Example :
`json`
{
"$files": {
"matching": "*.coffee",
"type": "file",
"ignore": "index.coffee"
}
}
Here, the configuration of the $files field will be replaced by a liste of matching files.
Configuration options :
`json`
{
"$files": {
"dir": ".", "_": "base directory",
"matching": ".coffee", "_": "only files matching .coffee will be listed",
"type": "file", "_": "possible: file | dir (both if not specified)",
"ignore": "index.coffee", "_": "either a file name or a glob match",
"contains": "filename", "_": "directories containing a specific file (only with type=dir)"
}
}
#### $custom
Shamefully not tested ...
configuration:
`json``
{
"dir": ".", "_": "base directory",
"path": "./", "_" : "import path",
"data": {}, "_": "data to pass to the custom helper"
}
- write tests
- test $custom
- create more default helpers
- create gulp plugin