think-view-pug

Pug view adapter for ThinkJS

Usage no npm install needed!

<script type="module">
  import thinkViewPug from 'https://cdn.skypack.dev/think-view-pug';
</script>

README

think-view-pug

Build Status Coverage Status npm

Install

npm install think-view-pug

How to Usage

edit config file src/config/adapter.js, add options:

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

const defaultOptions = {
  cache: false,
  debug: false
};

change options:

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:

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