Template engine consolidation for gulp
using consolidate.js
.
Install gulp-consolidate
as a development dependency:
npm install --save-dev gulp.consolidate
Then, add it to your gulpfile.js
(compatible with gulp-data
):
var gulp = require('gulp'),
gulpData = require('gulp-data'),
gulpConsolidate = require('gulp.consolidate');
var getJsonData = function(file) {
return require('./examples/' + path.basename(file.path) + '.json');
};
gulp.src('./src/*.html')
.pipe(gulpData(getJsonData))
.pipe(gulpConsolidate('swig', {
msg: 'Hello Gulp!'
}, {
setupEngine: function (engineName, Engine) {
return Engine;
}
//useContents: true
}))
.pipe(gulp.dest('./dist'));
Type: String
The consolidate.js
supported template engine used to render each file.
consolidate('swig');
Note: The template engine must also be installed via npm.
npm install --save-dev swig
Type: Object
The data to use to render the templates.
consolidate('swig', {
msg: "Hello World"
});
Type: Object
Additional options.
Type: Boolean
Default: false
consolidate('swig', data, { useContents : true });
Most times, you will want to render templates that include other files. In order to do so, the filenames will be passed to consolidate rather than the file contents.
If you would rather pass the file contents to consolidate, set the useContents
option to true.
WTFPL License