Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including grunt-swig-it with all npm packages installed. Try it out:

grunt-swig-it lists no main file and has no index.js, so it can't be directly required. If this is a mistake, please let us know. It may however contain internal files that you can require manually:

require("grunt/package.json"); // grunt is a peer dependency. // require("grunt-swig-it/[??]")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

grunt-swig-it v0.0.5

Create static HTML files using Swig


Create static HTML files using Swig

Getting Started

This plugin requires Grunt 0.4.1

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-swig-it --save-dev

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


The "swig_it" task


In your project's Gruntfile, add a section named swig_it to the data object passed into grunt.initConfig().

  swig_it: {
    dev: {
      options: {
        swigDefaults: {
          allowErrors: false,
          autoescape: true
        data: {
          foo: {
            bar: 'yeah'
      src: ['test/fixtures/**/*.html'],
      dest: "test/dest"

For each template found within src swig-it will look for a json file of the same name to use as data for the template.

The src directory should not include layout files so store 'pages' in a different folder to 'layouts' for your convenience.

If you store data inside global.json, placed in the root, this will be merged with any 'data' that you put inside the swig_it config.


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free