gulp-nunjucks-render
Render Nunjucks templates
Issues with the output should be reported on the Nunjucks issue tracker.
Install with npm
npm install --save-dev gulp-nunjucks-render
var gulp = require('gulp');
var nunjucksRender = require('gulp-nunjucks-render');
gulp.task('default', function () {
nunjucksRender.nunjucks.configure(['src/templates/']);
return gulp.src('src/templates/*.html')
.pipe(nunjucksRender())
.pipe(gulp.dest('dist'));
});
Note: To keep Nunjucks render from eating up all your ram, make sure to specify your watch path. nunjucksRender.nunjucks.configure(['src/path/to/templates/']);
This will also allow you to define your paths relatively.
var gulp = require('gulp');
var nunjucksRender = require('gulp-nunjucks-render');
var data = require('gulp-data');
function getDataForFile(file){
return {
example: 'data loaded for ' + file.relative
};
}
gulp.task('default', function () {
nunjucksRender.nunjucks.configure(['src/templates/']);
return gulp.src('src/templates/*.html')
.pipe(data(getDataForFile))
.pipe(nunjucksRender())
.pipe(gulp.dest('dist'));
});
Same context as nunjucks.render()
.
For example
nunjucksRender({css_path: 'http://company.com/css/'});
For the following template
<link rel="stylesheet" href="{{ css_path }}test.css" />
Would render
<link rel="stylesheet" href="http://company.com/css/test.css" />
To prevent watch mode during gulp task use watch
parameter:
nunjucksRender.nunjucks.configure([ './source' ], { watch: false });
MIT © Carlos G. Limardo
Sindre Sorhus who wrote the original gulp-nunjucks for precompiling Nunjucks templates. I updated his to render instead of precompile.