koa-swig
v2.2.1
Published
Koa view render based on Swig, support tags, filters, and extensions.
Downloads
1,815
Readme
koa-swig
Koa view render based on Swig, support tags, filters, and extensions.
Usage
v2.x
app.context.render = render(settings);
v1.x
render(app, settings);
Install
npm install koa-swig
Features
- First, automatically merge
ctx.state
from koa 0.14. - Second, automatically merge
ctx.flash
. - Finally, merge custom locals.
Example
var koa = require('koa');
var render = require('koa-swig');
var app = koa();
app.context.render = render({
root: path.join(__dirname, 'views'),
autoescape: true,
cache: 'memory', // disable, set to false
ext: 'html',
locals: locals,
filters: filters,
tags: tags,
extensions: extensions
});
app.use(function *() {
yield this.render('index');
});
app.listen(2333);
// koa v2.x
var co = require('co');
app.context.render = co.wrap(render({
// ...your setting
writeBody: false
}));
app.use(async ctx => ctx.body = await ctx.render('index'));
Settings
- autoescape
- cache
- locals
- varControls
- tagControls
- cmtControls
filters: swig custom filters
tags: swig custom tags
extensions: add extensions for custom tags
ext: default view extname
root: view root directory
writeBody: default(true) auto write body and response
Methods
render.swig.setLocals
render.swig.getLocals
Others
- swig-extras A collection of handy tags, filters, and extensions for Swig.
Licences
MIT