liquidjs

A simple, expressive and safe Shopify / Github Pages compatible template engine in pure JavaScript.

Usage no npm install needed!

<script type="module">
  import liquidjs from 'https://cdn.skypack.dev/liquidjs';
</script>

README

liquidjs

npm version npm downloads Coverage Build Status DUB license semantic-release

A simple, expressive and safe Shopify / Github Pages compatible template engine in pure JavaScript. The purpose of this repo is to provide a standard Liquid implementation for the JavaScript community so that Jekyll sites, Github Pages and Shopify templates can be ported to Node.js without pain.

logo

What's it like?

Basically there're two types of Liquid syntax: tags enclosed by {% %} and outputs enclosed by {{ }}. A Liquid template looks like:

{% if username %}
  {{ username | append: ", welcome to LiquidJS!" | capitalize }}
{% endif %}

A live demo is also available and here's a quick tutorial for Liquid syntax.

Installation

Install from npm in Node.js:

npm install liquidjs

Or use the UMD bundle from jsDelivr:

<script src="https://cdn.jsdelivr.net/npm/liquidjs/dist/liquid.browser.min.js"></script>

More details, refer to The Setup Guide.

Related Packages

  • gulp-liquidjs: A shopify compatible Liquid template engine for Gulp using liquidjs.
  • grunt-liquify: A Grunt task to process Liquid using liquidjs. Use it to add Liquid magic to your scripts and css assets.
  • react-liquid: Liquid templating language component for React
  • @11ty/eleventy: A simpler static site generator. An alternative to Jekyll. Written in JavaScript. Transforms a directory of templates (of varying types) into HTML.

Financial Support

If you love LiquidJS or your company is using LiquidJS? Please consider support us on Open Collective or Patreon.

Backers

If you personally like LiquidJS and find it's useful to you, you can become a backer!

Sponsors

If LiquidJS is benefiting your business/company, please sponsor us to make it better!

Contributors โœจ

Want to contribute? see Contribution Guidelines. Thanks goes to these wonderful people:


Jun Yang

๐Ÿšง ๐Ÿ’ป

chenos

๐Ÿ’ป

Zach Leatherman

๐Ÿ›

Tim Hardy

๐Ÿ’ป

Paul Robert Lloyd

๐Ÿ’ป ๐Ÿ›

Alec Larson

๐Ÿ’ป

Patrick Malouin

๐Ÿ’ป ๐Ÿ“–

jaswrks

๐Ÿ’ป

ไธ‰ไธ‰

๐Ÿ’ป ๐Ÿค”

ssendev

๐Ÿ’ป ๐Ÿ“–

wojtask9

๐Ÿ’ป

Andrew Barclay

๐Ÿ’ป

Cory Mawhorter

๐Ÿ’ป

Mehdi Jaffery

๐Ÿ’ป

Robin Bijlani

๐Ÿ’ป ๐Ÿ›

Ryan Kennedy

๐Ÿ’ป

Sami Kukkonen

๐Ÿ’ป

Scott Santucci

๐Ÿ’ป

Steven

๐Ÿ’ก ๐Ÿ’ป

azu

๐Ÿ“–

Joonas

๐Ÿ’ป

Jamel A.

๐Ÿ’ป

Brandon Pittman

๐Ÿ’ป

tgrandgent

๐Ÿ’ป

Martin Schuster

๐Ÿ’ป

Ray

โš ๏ธ ๐Ÿ’ป

Cristofer Gonzales

๐Ÿ’ป

Raymond Camden

๐Ÿ“–

Steve Stedman

๐Ÿ“–

Anthony Ciccarello

๐Ÿ“–

Bogdan Chadkin

๐Ÿ’ป

Tejas Manohar

๐Ÿ’ป

Peter deHaan

๐Ÿ“–

amit777

๐Ÿ’ป ๐Ÿ’ต

Steffen Schuldenzucker

๐Ÿ’ป

Pixcell

๐Ÿ’ป

Jason Etcovitch

๐Ÿ’ป

ZC

๐Ÿ“–

Memmie Lenglet

๐Ÿ’ป

ilhamdev0

๐Ÿ“–

ไธ€้ฅฎไธ€ๅ•„็š†ๆ˜ฏไบบ็”Ÿ

๐Ÿ“–

Amit Agarwal

๐Ÿ“–

Laurin Quast

๐Ÿ’ป

Matt Vague

๐Ÿ’ป

Liam Bigelow

๐Ÿ’ป

Jason Kurian

๐Ÿ“–

d pham (they/them)

๐Ÿ“–

Aleksandr Hovhannisyan

๐Ÿ’ป

jg-rp

๐Ÿ’ป

Ameya Apte

๐Ÿ’ป

tbdrz

๐Ÿ“–

Santi Albo

๐Ÿ“–