koa-swig

    2.2.1 • Public • Published

    koa-swig

    NPM version Build status Test coverage License Dependency status

    Koa view render based on Swig, support tags, filters, and extensions.

    NPM

    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

    • swig options

      • 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

    Install

    npm i koa-swig

    DownloadsWeekly Downloads

    143

    Version

    2.2.1

    License

    MIT

    Last publish

    Collaborators

    • fundon