Koa view render based on Swig, support tags, filters, and extensions.
Usage
-
v2.x
app.context.render = render(settings);
-
v1.x
Install
Features
- First, automatically merge
ctx.statefrom 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
