UNPKG

think-view-pug

Version:
82 lines (69 loc) 1.71 kB
# think-view-pug [![Build Status](https://travis-ci.org/thinkjs/think-view-pug.svg?branch=master)](https://travis-ci.org/thinkjs/think-view-pug) [![Coverage Status](https://coveralls.io/repos/github/thinkjs/think-view-pug/badge.svg?branch=master)](https://coveralls.io/github/thinkjs/think-view-pug?branch=master) [![npm](https://img.shields.io/npm/v/think-view-pug.svg?style=flat-square)](https://www.npmjs.com/package/think-view-pug) ## Install ``` npm install think-view-pug ``` ## How to Usage edit config file `src/config/adapter.js`, add options: ```js const pug = require('think-view-pug'); exports.view = { type: 'pug', common: { viewPath: path.join(think.ROOT_PATH, 'view'), extname: '.html', sep: '_' //seperator between controller and action }, pug: { handle: pug, beforeRender: (pug, handleOptions) => { // todo } } } ``` ### default options ```js const defaultOptions = { cache: false, debug: false }; ``` change options: ```js exports.view = { type: 'pug', pug: { handle: pug, options: { cache: true, self: true }, beforeRender: (pug, handleOptions) => { // todo } } } ``` you can find all pug support options at https://pugjs.org/api/reference.html ### beforeRender you can use `beforeRender` method to enhance pug: ```js exports.view = { type: 'pug', pug: { handle: pug, beforeRender: (pug, handleOptions) => { pug.filters['my-own-filter'] = (text, options) => { if (options.addStart) text = 'Start\n' + text; if (options.addEnd) text = text + '\nEnd'; return text; }; } } } ``` you can find all APIs at https://pugjs.org/api/reference.html