tmplconv

5.0.1 • Public • Published

tmplconv

Build Status npm Version JS Standard

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.

Readme

Keywords

Package Sidebar

Install

npm i tmplconv

Weekly Downloads

41

Version

5.0.1

License

MIT

Unpacked Size

45 kB

Total Files

55

Last publish

Collaborators

  • okunishinishi