variable-replacer

The simplest templating engine: only replace variables in files

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
variable-replacer
301.6.06 years ago8 years agoMinified + gzip package size for variable-replacer in KB

Readme

node-variable-replacer
The simplest templating engine: replace variables in files

Templating language

Surround variables names by percents. Supports nested variables Works with any text file. ``` the value of var1 variable is: %var1% the value of the key1 attr of var2 is %var2.key1% ``` Replace with values from either inline data or json file(s).

Usage

Command line
```shell npm install -g variable-replacer ``` ```shell variable-replacer sourcepath1 sourcepath2 sourcepath3 destpath --data=datasource.json --data-myvarname=value ```
Node JS
```shell npm install variable-replacer ``` ```javascript require('variable-replacer')({
source: 'source/path',
dest: 'dest/path',
dataSource: 'data.json',
inlineData: {
var1 : 'val1',
var2 : {
key1: 'val2'
}
}
}) ```

Options

options.source (Mandatory)

Mandatory Type: String or array of String Note: glob pattern supported Files to process (input files)

options.dest

Mandatory Type: String Destination file or directory, where output file will be written.

options.dataSource

Optional Type: String or array of String Path(s) of json file(s) containing source of data for variable replacement.

options.inlineData

Optional Type: Object Inline source of data for variable replacement

options.variablePattern

Optional Type: String or RegExp The Regular Expresssion used to match variables. The first group must return the variable path. Defaults to /%([\w._-]+)%/g

options.logLevel

Optional Default: info Type: "debug", "info", "warn", "error", "none" Change logging level

Contributing

Pull requests are welcome

TODO

  • Add support for inline input and output
  • Add support for reusable replacer
  • Improve error handling and logging