# textgen
Easy to use text (and code) generation framework.
There are 3 steps to generating text/code:
- define a model schema
- write transform for schema to template model
- write template
example
define the model
var model = components: btn: modifiers: 'sm' 'md' 'lg'
transform the model
var map = map;var transformer = transformer; var templateModel = model; /*templateModel = { components: [ { name: 'btn', modifiers: [{className: 'btn-sm', 'btn-md', 'btn-lg'}], } ]}*/
template
components.tpl
._.components.forEach((component) => {
.${component.name} {
. component.modifiers.forEach((modifier) => {
&.${modifier.className} {
}
. })
}
.})
var compileFile = compileFile;var write = write; var template = ;var content = ;;
components.less
.btn {
&.btn-sm {
}
&.btn-md {
}
&.btn-lg {
}
}