tmplconv
Two way template converter.
Last updated 2 years ago by okunishinishi .
MIT · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install tmplconv 
SYNC missed versions from official npm registry.

tmplconv

Build Status Code Climate Code Coverage 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]


  Commands:

    tmplify [options] <srcDir> <destDir>  Generate a template from existing files
    render [options] <srcDir> <destDir> 
    transplant [options] <src> <dest>     Tmplify and render at once

  Two way template converter.

  Options:

    -h, --help     output usage information
    -V, --version  output the version number


License

This software is released under the MIT License.

Current Tags

  • 3.2.1                                ...           latest (2 years ago)

23 Versions

  • 3.2.1                                ...           2 years ago
  • 3.2.0                                ...           2 years ago
  • 3.1.3                                ...           2 years ago
  • 3.1.2                                ...           2 years ago
  • 3.1.1                                ...           2 years ago
  • 3.1.0                                ...           2 years ago
  • 3.0.9                                ...           2 years ago
  • 3.0.8                                ...           2 years ago
  • 3.0.7                                ...           2 years ago
  • 3.0.6                                ...           2 years ago
  • 3.0.5                                ...           2 years ago
  • 3.0.4                                ...           2 years ago
  • 3.0.3                                ...           2 years ago
  • 3.0.2                                ...           2 years ago
  • 3.0.1                                ...           2 years ago
  • 3.0.0                                ...           2 years ago
  • 2.0.2                                ...           3 years ago
  • 2.0.1                                ...           3 years ago
  • 2.0.0                                ...           3 years ago
  • 1.0.4                                ...           3 years ago
  • 1.0.3                                ...           3 years ago
  • 1.0.2                                ...           3 years ago
  • 1.0.1                                ...           3 years ago

Copyright 2014 - 2016 © taobao.org |