tmplconv
v5.0.1
Published
Two way template converter.
Downloads
110
Readme
tmplconv
Two way template converter.
my_awesome_func.js
function myAwesomeFunc () {
/* ... */
}
↓↓ ↑↑
Tmplify Render
↓↓ ↑↑
name@snakecase.js.tmpl
function ____name@camelcase____ () {
/* ... */
}
Installation
npm install tmplconv --save-dev
Render Files from Template
'use strict'
const tmplconv = require('tmplconv')
// Render files from existing template
tmplconv.render('asset/app-tmpl', 'demo/demo-app', {
// Data to render
data: {
'name': 'my-awesome-app',
'description': "This is an example for the app templates."
}
}).then((result) => {
/* ... */
})
Render Options
| Key | Default | Description | | --- | --- | --- | | data | | Name or path of data module. | | pattern | '**/.' | File name patterns | | ignore | | File name patterns to ignore | | prefix | '' | Embed prefix | | suffix | '' | Embed suffix | | extname | '.tmpl' | Embed Template extension name | | silent | | Disable console logs | | clean | | Cleanup destination directory before convert | | once | | Write only first time. Skip if already exists | | mode | '644' | File permission to generate |
Generate Template from Existing Files
'use strict'
const tmplconv = require('tmplconv')
// Generate template from existing directory
tmplconv.tmplify('demo/demo-app', 'asset/app-tmpl', {
// Patterns of files to tmplify
pattern: [
'lib/*.js',
'test/*_test.js'
],
// Rule to tmplify
data: {
'name': 'my-awesome-app',
'description': "This is an example for the app templates."
}
}).then((result) => {
/* ... */
})
Tmplify options
| Key | Default | Description | | --- | --- | --- | | data | | Name or path of data module. | | pattern | '**/.' | File name patterns | | ignore | | File name patterns to ignore | | prefix | '' | Embed prefix | | suffix | '' | Embed suffix | | extname | '.tmpl' | Embed Template extension name | | silent | | Disable console logs | | clean | | Cleanup destination directory before convert | | once | | Write only first time. Skip if already exists | | mode | '644' | File permission to generate |
String Conversion
You can use these functions to convert text before it is inserted into a template:
- camelcase: "hello world" --> "HelloWorld"
- pascalcase: "hello world" --> "helloWorld"
- spinalcase: "hello world" --> "hello-world"
- snakecase: "hello world" --> "hello_world"
- uppercase: "hello world" --> "HELLO WORLD"
- lowercase: "hello world" --> "hello world"
- enumcase: "hello world" --> "hello:world"
Using with CLI
Install as a global module.
$ npm install tmplconv -g
CLI Usage:
$ tmplconv -h
Usage: tmplconv [options] [command]
Two way template converter.
Options:
-V, --version output the version number
-h, --help output usage information
Commands:
tmplify [options] <srcDir> <destDir> Generate a template from existing files
render [options] <srcDir> <destDir>
transplant [options] <src> <dest> Tmplify and render at once
License
This software is released under the MIT License.