Skip to content

egg view plugin for swig

License

Notifications You must be signed in to change notification settings

eggjs/egg-view-swig

Repository files navigation

egg-view-swig

Use swig Template Engine.

NOTE: swig is NOT MAINTAINED.

Docs: http://node-swig.github.io/swig-templates

Install

$ npm i egg-view-swig --save

Usage

// {app_root}/config/plugin.js
exports.swig = {
  enable: true,
  package: 'egg-view-swig',
};

Set mapping in config

// {app_root}/config/config.default.js
exports.view = {
  defaultViewEngine: 'swig',
  mapping: {
    '.tpl': 'swig',
  },
};

// {app_root}/config/config.default.js
exports.swig = {
  cache: true,
};

Set filter

// {app_root}/app/extend/filter.js
exports.hello = name => `hi, ${name}.`;   

// {app_root}/app/controller/{your_controller}.js
exports.home = function* (ctx) {
  yield ctx.render('home.tpl', { name: 'egg' });
};

// home.tpl
{{ name | hello }}

Render in controller

// {app_root}/app/controller/test.js
exports.home = function* (ctx) {
  yield ctx.render('home.tpl', { name: 'swig view' });
};

Configuration

see config/config.default.js for more detail.

Questions & Suggestions

Please open an issue here.

License

MIT