koa-nunjucks-volt

0.1.1 • Public • Published

koa-nunjucks-2

Lightweight Koa middleware for Nunjucks.

NPM version Build status License Dependency status

Installation

npm install --save koa-nunjucks-2

For Koa 2, use the next tag

npm install --save koa-nunjucks-2@next

Usage

Example

var koa = require('koa');
var app = koa();
var koaNunjucks = require('koa-nunjucks-2');
var path = require('path');
 
app.context.render = koaNunjucks({
  ext: 'html',
  path: path.join(__dirname, 'views'),
  nunjucksConfig: {
    autoescape: true
  }
});
 
app.use(function*() {
  yield this.render('home', {double: 'rainbow'});
});

Config Options

  • ext (default: 'html'): Extension that will be automatically appended to the file name in this.render calls. Set to a falsy value to disable.
  • path (default: current directory): Path to the templates. Also supports passing an array of paths.
  • writeResponse (default: true): If true, writes the rendered output to response.body.
  • nunjucksConfig: Object of Nunjucks config options.

Global Template Variables

Use ctx.state to make a variable available in all templates.

Extending Nunjucks

The configuration function returns a Nunjucks Environment which allows you to define custom filters, extensions etc.

app.context.render = koaNunjucks({
  ext: 'html',
  path: path.join(__dirname, 'views')
});
 
var nunjucksEnv = app.context.render.env;
nunjucksEnv.addFilter('shorten', function(str, count) {
  return str.slice(0, count || 5);
});

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i koa-nunjucks-volt

Weekly Downloads

1

Version

0.1.1

License

MIT

Last publish

Collaborators

  • az8321550