Koa view render based on Swig, support tags, filters, and extensions.
-
v2.x
app.context.render = render(settings);
-
v1.x
render(app, settings);
npm install koa-swig
- First, automatically merge
ctx.state
from koa 0.14. - Second, automatically merge
ctx.flash
. - Finally, merge custom locals.
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'));
-
- 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
-
render.swig.setLocals
-
render.swig.getLocals
- swig-extras A collection of handy tags, filters, and extensions for Swig.
MIT