json2text
v0.0.5
Published
Generate free-format text from JSON templates
Readme
json2text
json2text generate free-format text from JSON templates (e.g. HTML generation).
Install package globally:
npm install json2text -gTools
j2t [EXTENSION]: compile templatesj2n FILE: generate template stubs from FILEj2f FILE [EXTENSION]: convers_textfields from FILE to_filefields.
How to use example
1. Define template elements
Create file with .j2.node.json extension (e.g. elements.j2.node.json). Include the following text:
[
{
"_name": "list",
"style": "disc",
"_text": "<ul style='list-style-type:%%style%%'>\n%%_text%%</ul>"
}, {
"_name": "item",
"_text": "<li> %%_text%% </li>\n"
}
]JSON fields:
_name: node(s) names._text: node's templating string.- OPTIONAL: other fileds represent arguments with default values (e.g.
style)
2. Define template layout
Create file with .j2.json extension (e.g. layout.j2.json). Include the following text:
{
"_node": "list",
"style": "circle",
"_child": [
{"_node": "item", "_child": "list item #1"},
{"_node": "item", "_child": "list item #2"}
]
}JSON fields:
_node: element name_child: (string|object|list): node content- OPTIONAL: other fileds represent arguments values (e.g.
style = circle)
3. Compile template
Run:
j2t htmlThis command will search current work directory file-tree for .j2.node.json and .j2.json files and would compile .html output files (.out by default):
<ul style='list-style-type:circle'>
<li> list item #1 </li>
<li> list item #2 </li>
</ul>Features and info
- Each
.j2.node.jsonand.j2.jsonchange leads to output file(s) regeneration - JSON fields starts with
_ (underscore)(e.g._node,_name) are reserved for json2text future use, don't use them for attributes
TODO
- Replace
fsmonitor. Updates detection on Mac is reported to be slow. Copy & paste does not detected - Add flag to generate ones and exit
- Color console print
