grunt-ejs-mate
v0.3.1
Published
A grunt task for rendering ejs templates using ejs-mate.
Downloads
5
Maintainers
Readme
grunt-ejs-mate
A Grunt task for compiling ejs templates, using ejs-mate.
A fork of grunt-ejs.
Getting Started
Install this grunt plugin next to your project's
Gruntfile.js with: npm install grunt-ejs-mate --save-dev
.
Then add this line to your project's Gruntfile.js
:
grunt.loadNpmTasks('grunt-ejs-mate');
Documentation
Add the task to your config and specify the destination for the compiled file:
grunt.initConfig({
'ejs-mate': {
all: {
src: ['app/**/*.ejs', '!app/partials/**/*'],
dest: 'dist/',
expand: true,
ext: '.html',
},
},
});
Passing data/helpers to the templates
Use options
to pass data and helpers to the templates:
Gruntfile.js:
grunt.initConfig({
'ejs-mate': {
all: {
options: {
title: 'My Website',
url: function(url) {
return 'http://example.com/formatted/url/' + url;
},
},
src: ['app/**/*.ejs', '!app/partials/**/*'],
dest: 'dist/',
expand: true,
ext: '.html',
},
},
});
app/index.ejs:
<html>
<head>
<title><%= title %></title>
</head>
<body>
<a href="<%= url('home.html') %>">Home Page</a>
</body>
</html>
Ideally all your helpers and non-app specific config should be another module and merged in like this:
grunt.initConfig({
'ejs-mate': {
all: {
options: grunt.util._.merge(require('my-helpers'), {
title: 'My Website'
}),
src: 'index.ejs',
dest: 'index.html',
},
},
});
Release History
- 0.1.0 initial release
License
Copyright (c) 2015 Matt Blair Licensed under the MIT license.