node package manager

gulp-nunjucks

Compile/precompile Nunjucks templates

gulp-nunjucks

Compile/precompile Nunjucks templates

Issues with the output should be reported on the Nunjucks issue tracker.

$ npm install --save-dev gulp-nunjucks
const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');
 
gulp.task('default', () =>
gulp.src('templates/greeting.html')
.pipe(nunjucks.compile({name: 'Sindre'}))
.pipe(gulp.dest('dist'))
);

You can alternatively use gulp-data to inject the data:

const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');
const data = require('gulp-data');
 
gulp.task('default', () =>
gulp.src('templates/greeting.html')
.pipe(data(() => ({name: 'Sindre'})))
.pipe(nunjucks.compile())
.pipe(gulp.dest('dist'))
);
const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');
 
gulp.task('default', () =>
gulp.src('templates/greeting.html')
.pipe(nunjucks.precompile())
.pipe(gulp.dest('dist'))
);

Compile a template using the provided data.

Type: object

The data object used to populate the text.

Type: object

Options will be passed directly to the Nunjucks Environment constructor which will be used to compile templates.

Type: nunjucks.Environment
Default: new nunjucks.Environment()

The custom Nunjucks Environment object which will be used to compile templates. If supplied, the rest of options will be ignored.

Precompile a template for rendering dynamically at a later time.

Same options as nunjucks.precompile() except for name.

options.name

Type: function
Default: Relative template path. Example: templates/list.html

You can override the default behavior by supplying a function which gets the current File object and is expected to return the name.

Example:

{
name: file => `tpl-${file.relative}`
}

MIT © Sindre Sorhus