Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

brick-liquid

Package Overview
Dependencies
Maintainers
1
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

brick-liquid

liquid template engine for brick.js

  • 3.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
1
Weekly downloads
 
Created
Source

NPM version Build Status Coverage Status Dependency manager

Liquid Template Engine for Brick.js, implemented with [sirlantis/liquid-node][sirlantis/liquid-node].

Installation

npm install -S brick-liquid

Set template engine for brick.js

var brickJs = require('brick.js');
var Liquid = require('brick-liquid');

var brk = brickJs();

var liquid = Liquid({
    cache: false    // disabled by default, see below
});

brk.engine('.liquid', liquid);   // set liquid engine for .liquid file 
brk.engine('.html', liquid);     // set liquid engine for .html file

app.use('/', brk.express);

Include Modules(Partials)

In Brick.js, partials are organized as modules, Sub-modules are imported by include. For example:

<html>
<body>
  <div class="container">
    {%include "user-list"%}
  </div>
</body>
</html>

Above template will import module user-list in root directory with local context.

Layouts

Brick-liquid render is implemented asyncly to support template layout.

Module homepage:

{%layout 'default'%}
<div class="container"> Hello! </div>

Module default:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>{{title}}</title>
  <meta charset="UTF-8">
</head>
<body> {% block %} </body>
</html>

homepage will be rendered and then replace {% block %} declaration in default. In the meantime, the local context within homepage will be passed into default.

Options

cache

Type: Bool

Default: false

If set to true, all templates will be loaded only once (for production usage). Otherwise, template file will be reloaded on every HTTP request.

Registration of New Filter

Brick-liquid is implemented with harttle/liquidjs internaly. And the liquid object defined above is compatible with harttle/liquidjs engine object.

Javascript:

liquid.registerFilter('upper', function(v){
  return v.toUpperCase();
});

Template:

<h3>{{ 'alice' | upper }}</h3>

Output:

<h3>ALICE</h3>

Registration of New Tag

Registration of new tag is compatible with harttle/liquidjs.

Javascript:

engine.registerTag('upper', {
    parse: function(tagToken, remainTokens) {
        this.str = tagToken.args; // name
    },
    render: function(scope, hash) {
        var str = Liquid.evalValue(this.str, scope); // 'alice'
        return str.toUpperCase(); // 'Alice'
    }
});

Template:

{% upper 'alice' %}

Output:

ALICE

FAQs

Package last updated on 21 Nov 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc