egg-view-liquid

    1.0.5 • Public • Published

    egg-view-liquid

    NPM version Travis Status

    egg view plugin for liquid.

    Install

    $ npm i egg-view-liquid --save

    Usage

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

    Create a liquid file

    // app/view/hello.liquid
    hello {{ data }}

    Render it

    // app/controller/render.js
    exports.liquid = async ctx => {
      await ctx.render('hello.liquid', {
        data: 'world',
      });
    };

    The file will be compiled and cached, you can change config.liquid.cache = false to disable cache, it's disable in local env by default.

    Include

    You can include both relative and absolute file.

    Relative file is resolve from current file path.

    // app/view/a.liquid include app/view/b.liquid
    {% render 'view/b' %}

    Absolute file is resolve from app/view.

    // app/view/home.liquid include app/view/partial/menu.liquid
    {% render 'partial/menu' %}

    Tips:

    1. Use when you need to import files: partial/xxx not /partial/xxx

    2. LiquidJs currently does not support direct use of method calls in files: Hello {{helper.data()}} can be replaced with tags or plugins if needed.

    3. Now, if you want to use LiquidJs for like express-ejs-Layout's contentfor, just use LiquidJs's block instead.

    Configuration

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

    Questions & Suggestions

    Please open an issue here.

    License

    MIT

    Install

    npm i egg-view-liquid

    DownloadsWeekly Downloads

    3

    Version

    1.0.5

    License

    MIT

    Unpacked Size

    11.3 kB

    Total Files

    10

    Last publish

    Collaborators

    • i7eo