0.1.1 • Published 8 years ago

koa-nunjucks-volt v0.1.1

Weekly downloads
1
License
MIT
Repository
github
Last release
8 years ago

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