No description, website, or topics provided.
JavaScript HTML
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.banner
.editorconfig
.gitattributes
.gitignore
.jscsrc
.jshintrc
.travis.yml
LICENSE
README.md
gulpfile.js
index.js
package.json

README.md

Webpack Swig loader

Travis build status dependencies Coverage Status

NPM info

Webpack loader for swig templates.

How to use

Webpack configuration

You can define swig loader using webpack configuration.

{
  module: {
    loaders: [
      { test: /\.swig$/, loader: "swig-loader" }
    ]
  }
};

Require parameter

You can load swig template using require parameter.

var template = require('swig!./template.swig');

Passing swig options

You can pass swig options to the loader using swigLoader.options({ ... }) or loader query parameters. If you choose loader query parameters take a look at query webpack standard query format.

// Option #1 - Swig loader global options
var swigLoader = require('swig-loader');
swigLoader.options({
  varControls: ['{:', ':}']
});

// Option #2 - Swig loader query parameters
var swigLoader = require('swig?varControls[]={:&varControls[]=:}!./template.swig');

Passing template parameters

You can pass template parameters to the loader using resource query parameters. If you need to pass some parameters take a look at query webpack standard query format.

var swigLoader = require('swig!./template.swig?username=John');

Customizers

You can customize query, resourceQuery and result using customizers:

var swigLoader = require('swig-loader');

swigLoader.queryCustomizer(function(query, templatepath) {
    // modify query
});

swigLoader.resourceQueryCustomizer(function(resourceQuery, templatepath) {
    // modify resource query
});

swigLoader.resultCustomizer(function(query, templatepath, resourceQuery, query) {
    // modify result and don't forget to return it!
    return result;
});