grains

1.0.1 • Public • Published

grains

A tiny template engine.

Install

$ npm install grains --save-dev

Usage

var grains = require('grains'),
    tmpVars = {
        name: 'Tony',
        lastName: 'Stark',
        now: function () {
            return Date.now();
        }
    },
    myTemplate = "Hallo my name is {{name}} {{lastName}}. And the current timestamp is {{now}}",
    result = grains(myTemplate, tmpVars);
 
console.log(result);
// output like:
// -> "Hallo my name is Tony Stark. And the current timestamp is 1458432580960"
 

Nesting

var grains = require('grains'),
    tmpVars = {
        name: 'Tony',
        lastName: 'Stark',
        upper: function (parameter) {
            if (typeof parameter === 'string') {
                return parameter.toUpperCase();
            }
        }
    },
    myTemplate = "Hallo my name is {{name}} {{upper(lastName)}}.",
    result = grains(myTemplate, tmpVars);
 
console.log(result);
// output like:
// -> "Hallo my name is Tony STARK."
var grains = require('grains'),
    tmpVars = {
        name: 'Tony',
                lastName: 'Stark',
        upper: function (parameter) {
            if (typeof parameter === 'string') {
                return parameter.toUpperCase();
            }
        },
        reverse: function (parameter) {
         return parameter.split('').reverse().join('');
        }
    },
    myTemplate = "Hallo my name is {{name}} {{reverse(upper(lastName))}}.",
    result = grains(myTemplate, tmpVars);
 
console.log(result);
// output like:
// -> "Hallo my name is Tony KRATS."

Error callback

var grains = require('grains'),
    tmpVars = {
        name: 'Tony'
    },
    errCallback = function (tmpVar) {
        console.log('template Var ' + tmpVar + ' is not defined!');
    },
    myTemplate = "Hallo my name is {{name}} {{lastName}}.",
    result = grains(myTemplate, tmpVars, errCallback);
 
console.log(result);
// output like:
// -> "template Var lastName is not defined!"
// -> "Hallo my name is Tony ."

Author

Dependencies (0)

    Dev Dependencies (0)

      Package Sidebar

      Install

      npm i grains

      Weekly Downloads

      1

      Version

      1.0.1

      License

      MIT

      Last publish

      Collaborators

      • christianheyn