nick

0.1.3 • Public • Published

nick

The smallest templating engine ever.

nick is a no-nonsense string templating engine written in 10 lines (plus 8 lines of optimization).

A browser build is available here. It is available globally as Nick.

Installation

$ npm i nick

Usage

API

nick(templateString, [delimiterRegex])

Basic

Anything inside a pair of delimiters will be a simple object access.

var nick = require('nick');
 
// Create a reusable template function
var resume = nick('My name is { name }, and I am a { job } working at { company }. I have { years } years of experience in the field of { field }.');
 
var me = resume({
    name: 'Haskell Curry',
    job: 'logician',
    company: 'λ Combinator',
    years: 100,
    field: 'combinatory logic'
});
 
// My name is Haskell Curry, and I am a logician working at λ Combinator. I have 100 years of experience in the field of combinatory logic.

Custom Delimiters

nick also takes a regular expression as an optional second argument, which defines what delimiter is used for the template.

var thing = nick('I like to do {{{{{adjective}}}}} things.', /[\{\}]{5}/);
 
var result = thing({ adjective: 'random' });
 
// I like to do random things.

Benchmarks

The benchmarks were written with templates in the recommended style of their respective engines, profiling the performance of the example provided in Basic.

nick x 13,253,638 ops/sec ±0.88% (96 runs sampled)
lodash x 510,826 ops/sec ±0.23% (101 runs sampled)
doT x 12,309,561 ops/sec ±0.82% (98 runs sampled)
Handlebars x 2,196,357 ops/sec ±0.44% (99 runs sampled)

https://dl.bucket.pw/fyiyux.png

Package Sidebar

Install

npm i nick

Weekly Downloads

77

Version

0.1.3

License

MIT

Last publish

Collaborators

  • synchronous