template

An easy-to-use utility library for processing Lo-dash templates.

npm install template
38 downloads in the last day
348 downloads in the last week
1 861 downloads in the last month

template NPM version

An easy-to-use Lo-Dash template processing library.

Quickstart

Install with npm:

npm i template --save

Methods

template

By default the template() method expects the following parameters:

template(text, data, [options])

For example, the following:

var template = require('template');

template('Name: <%= name %>', {name: 'Jon'});

results in:

Name: Jon

template.read

To read a file from the file system before processing, use template.read:

template.read('file.md', data, options);

template.copy

A convenience method for synchronously copying files from A to B.

template.copy(src, dest, data, options);

Pass {process: false} to the options disable template processing.

Options

Template supports all Lo-Dash template options, as well as a few extras.

custom delimiters

All of the options from the delims library may be passed to the options object.

For example, this:

template('Hi, my name is {%= name %}', {name: 'Jon Schlinkert'}, {delims: ['{%', '%}']});

Results in:

Hi, my name is Jon Schlinkert

Valid templates

Any of the following expressions may be used in templates:

// Strings
"foo"

// Property strings
foo
foo.bar
foo.bar.baz

// Method calls, passed as properties on the data object
one()
two.three()

// Lo-Dash Mixins
_.foo()
_.foo(bar)
_.foo("baz")

3rd Party Libs

underscore.string

All of the methods from underscore.string are available on the _.str object. Additionally, all of the non-conflicting methods are available on the _ Lo-Dash namespace. See the underscore.string documentation for more details.

Authors

Jon Schlinkert

Brian Woodward

License

Copyright (c) 2014 Jon Schlinkert, Brian Woodward, contributors. Released under the MIT license

npm loves you