Precompile Nunjucks templates
JavaScript
Latest commit 497a3f8 Jan 5, 2017 @sindresorhus 3.0.0

readme.md

gulp-nunjucks Build Status

Compile/precompile Nunjucks templates

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

Install

$ npm install --save-dev gulp-nunjucks

Usage

Compile

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'))
);

Precompile

const gulp = require('gulp');
const nunjucks = require('gulp-nunjucks');

gulp.task('default', () =>
    gulp.src('templates/greeting.html')
        .pipe(nunjucks.precompile())
        .pipe(gulp.dest('dist'))
);

API

nunjucks.compile([data], [options])

Compile a template using the provided data.

data

Type: object

The data object used to populate the text.

options

Type: object

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

options.env

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.

nunjucks.precompile([options])

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}`
}

License

MIT © Sindre Sorhus