Setup

In case you’re not familiar with Liquid Template Language, see Introduction to Liquid Template Language.

LiquidJS in Node.js

Install via npm:

npm install --save liquidjs
var { Liquid } = require('liquidjs');
var engine = new Liquid();

engine
.parseAndRender('{{name | capitalize}}', {name: 'alice'})
.then(console.log); // outputs 'Alice'
Working Demo

Here’s a working demo for LiquidJS usage in Node.js: liquidjs/demo/nodejs/.

Type definitions for LiquidJS are also exported and published, which makes it more enjoyable for TypeScript projects:
import { Liquid } from 'liquidjs';
const engine = new Liquid();

engine
.parseAndRender('{{name | capitalize}}', {name: 'alice'})
.then(console.log); // outputs 'Alice'
Working Demo

Here’s a working demo for LiquidJS usage in TypeScript: liquidjs/demo/typescript/.

LiquidJS in Browsers

Pre-built UMD bundles are also available:

<!--for production-->
<script src="https://cdn.jsdelivr.net/npm/liquidjs/dist/liquid.browser.min.js"></script>
<!--for development-->
<script src="https://cdn.jsdelivr.net/npm/liquidjs/dist/liquid.browser.umd.js"></script>
Working Demo

Here’s a living demo on jsFiddle: jsfiddle.net/pd4jhzLs/1/, and the source code is also available in liquidjs/demo/browser/.

Compatibility

You may need a Promise polyfill for legacy browsers like IE and Android UC, see caniuse statistics.

LiquidJS in CLI

LiquidJS is also available from CLI:

echo '{{"hello" | capitalize}}' | npx liquidjs

If you pass a path to a JSON file or a JSON string as the first argument, it will be used as the context for your template.

echo 'Hello, {{ name }}.' | npx liquidjs '{"name": "Snake"}'

Miscellaneous

A ReactJS demo is also added by @stevenanthonyrevo, see liquidjs/demo/reactjs/.