grunt-swig2

Grunt task for rendering Swig templates.

grunt-swig2

Task for rendering Swig templates

This plugin requires Grunt ~0.4.2

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-swig2 --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks("grunt-swig2");

Run this task with the grunt swig command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.

Type: Object, Array, Function Default: {}

Locals that will be passed to each template when rendering. If this is a function, then it will be called once per target with no args. If this is an array, then the values will be merged into a single object.

Type: Object Default: {}

Object containing custom Swig filters, where the key is the filter name and the value is the filter function. Example:

options: {
    filters: {
        // Makes strings more exciting 
        makeExcitingfunction( input ) {
            return input + "!!!";
        }
    }
}

Type: Object Default: {}

Object containing custom Swig tags, where the key is the tag name and the value is a object that must contain parser and compiler functions. ends and blockLevel flags may also be passed, but are optional. Also, you may pass a ext key as well, which will add a Swig extension with the name of this tag.

Example:

options: {
    tags: {
        tagName: {
            parserfunction( strlineparsertypesoptions ) {
                // ... 
            },
            compilerfunction( compilerargscontentparentsoptionsblockName ) {
                // ... 
            },
            ends: true,
            blockLevel: true,
            ext: anythingHere
        }
    }
}

Type: Object Default: {}

A hash of Swig options.