Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Compile Jade templates.
JavaScript HTML

This branch is 3 commits ahead, 119 commits behind master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
tasks
test
.gitignore
.travis.yml
AUTHORS
CHANGELOG
LICENSE-MIT
README.md
grunt.js
package.json

README.md

grunt-contrib-jade Build Status

Compile Jade files to HTML.

Overview

Inside your grunt.js file add a section named jade. This section specifies files to compile and the options passed to jade.

Parameters

files object

This defines what files this task will process and should contain key:value pairs.

The key (destination) should be an unique filepath (supports grunt.template) and the value (source) should be a filepath or an array of filepaths (supports minimatch).

Note: When the value contains an array of multiple filepaths, the contents are concatenated in the order passed.

options object

This controls how this task (and its helpers) operate and should contain key:value pairs, see options below.

Options

data object

Sets the data passed to jade during template compilation. Any data can be passed to the template (including grunt templates).

pretty boolean

Configure jade to output pretty HTML.

Config Examples

jade: {
  compile: {
    options: {
      data: {
        debug: false
      }
    },
    files: {
      "path/to/dest.html": ["path/to/templates/*.jade", "another/path/tmpl.jade"]
    }
  }
}

If you want to generate a debug file and a release file from the same template:

jade: {
  debug: {
    options: {
      data: {
        debug: true
      }
    },
    files: {
      "debug.html": "test.jade"
    }
  },
  release: {
    options: {
      data: {
        debug: false
      }
    },
    files: {
      "release.html": "test.jade"
    }
  }
}

If you want to use grunt template in options.data:

jade: {
  debug: {
    options: {
      data: {
        debug: true,
        timestamp: "<%= new Date().getTime() %>"
      }
    },
    files: {
      "debug.html": "test.jade"
    }
  }
}

or you can use grunt helpers (grunt object was exposed at template context):

jade: {
  debug: {
    options: {
      data: {
        debug: true,
        timestamp: "<%= grunt.template.today() %>"
      }
    },
    files: {
      "debug.html": "test.jade"
    }
  }
}

Use the pretty option to output indented HTML:

jade: {
  debug: {
    options: {
      pretty: true
    },
    files: {
      "debug.html": "test.jade"
    }
  }
}

Task submitted by Eric Woroshow.

Something went wrong with that request. Please try again.