0.0.7 • Published 8 years ago
grunt-templater v0.0.7
grunt-templater
Universal template compiler task for Grunt. It uses Consolidate under the hood.
Supported template engines
- dust (website)
- eco
- ejs
- haml (website)
- haml-coffee (website)
- handlebars (website)
- hogan (website)
- jade (website)
- jazz
- jqtpl (website)
- liquor
- mustache
- QEJS
- swig (website)
- underscore (website)
- walrus (website)
- whiskers
Getting Started
install via npm
npm install grunt-templaterinstall the template engine you intend to use. For example, if using Jade:
npm install jadeand in your grunt.js file:
grunt.loadNpmTasks('grunt-templater');Usage
Create a template task in your grunt config. Templater will guess the intended template engine based on the src filename. Pass the engine option to force a specific engine.
When using the Grunt file format, variables is required:
grunt.initConfig({
template: {
all: {
files: [{
expand: true,
cwd: 'source',
src: [ '**/*.hbs' ],
dest: 'build',
ext: '.html'
}],
variables: {
env: environment
}
}
}
});To remain backwards compatible, src, dest can be used to define files aswell:
grunt.initConfig({
template: {
dev: {
src: 'app/homepage.jade',
dest: 'dev.html',
variables: {
css_url: 'app.css'
title: 'Hello World'
pretty: true
}
},
dist: {
src: 'app/homepage.jade',
dest: 'dist/index.html',
variables: {
css_url: 'app.min.css'
title: 'Hello Production'
}
},
dynamicVariables: {
src: 'app/homepage.jade',
dest: 'dist/index.html',
variables: function () {
return {
css: grunt.file.read('app.min.css'),
now: new Date()
}
}
}
},
...
});run with:
grunt templateor for a specific target:
grunt template:devEngine specific options can also be passed through the variables option. In the case of Jade, pretty: true adds pretty-indentation whitespace to its output.