Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/harttle/liquidjs

A simple, expressive, safe and Shopify compatible template engine in pure JavaScript.
https://github.com/harttle/liquidjs

browser liquid nodejs template-engine

Last synced: 13 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# liquidjs
[![npm version](https://img.shields.io/npm/v/liquidjs.svg?logo=npm&style=flat-square)](https://www.npmjs.org/package/liquidjs)
[![npm downloads](https://img.shields.io/npm/dm/liquidjs.svg?style=flat-square)](https://www.npmjs.org/package/liquidjs)
[![Coverage](https://img.shields.io/coveralls/harttle/liquidjs.svg?style=flat-square)](https://coveralls.io/github/harttle/liquidjs?branch=master)
[![Build Status](https://img.shields.io/github/actions/workflow/status/harttle/liquidjs/ci-build.yml?branch=master&style=flat-square)](https://github.com/harttle/liquidjs/actions/workflows/ci-build.yml?query=branch%3Amaster)
[![DUB license](https://img.shields.io/dub/l/vibe-d.svg?style=flat-square)](https://github.com/harttle/liquidjs/blob/master/LICENSE)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg?style=flat-square)](https://github.com/harttle/liquidjs)

A simple, expressive and safe [Shopify][shopify/liquid] / 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](https://jekyllrb.com), [GitHub Pages](https://pages.github.com/) and [Shopify templates](https://themes.shopify.com/) can be ported to Node.js without pain.

* [Documentation][doc]
* Please star [LiquidJS on GitHub][github]!
* Financial support via [GitHub Sponsors](https://github.com/sponsors/harttle).

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:

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

[A live demo](https://liquidjs.com/playground.html) is also available and here's a [quick tutorial](https://liquidjs.com/tutorials/intro-to-liquid.html) for Liquid syntax.

## Installation

Install from npm in Node.js:

```bash
npm install liquidjs
```

Or use the UMD bundle from jsDelivr:

```html

```

Or render directly from CLI using npx:

```bash
npx liquidjs --template 'Hello, {{ name }}!' --context '{"name": "Snake"}'
```

For more details, refer to the [Setup Guide][setup].

## Who's Using LiquidJS?

- [Eleventy](https://www.11ty.dev/): Eleventy, a simpler static site generator.
- [Opensense](https://www.opensense.com/): The smarter way to send email.
- [Directus](https://docs.directus.io/): an instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database.
- [Semgrep](https://github.com/returntocorp/semgrep): Lightweight static analysis for many languages.
- [Rock](https://www.rockrms.com/): An open source CMS, Relationship Management System (RMS) and Church Management System (ChMS) all rolled into one.
- [Mitosis](https://github.com/BuilderIO/mitosis): Write components once, run everywhere. Compiles to React, Vue, Qwik, Solid, Angular, Svelte, and more.
- [Pattern Lab](https://patternlab.io/): a frontend workshop environment that helps you build, view, test, and showcase your design system's UI components.
- [Builder.io](https://www.builder.io/m/developers): the first and only headless CMS with a visual editor that lets you drag and drop with your components, directly within your current site or app. Completely API-driven, for cleaner code and simpler workflows.
- [Microsoft Power Pages](https://learn.microsoft.com/en-us/power-pages/introduction): a secure, enterprise-grade, low-code software as a service (SaaS) platform for creating, hosting, and administering modern external-facing business websites.
- [Azure API Management developer portal](https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-developer-portal): an automatically generated, fully customizable website with the documentation of your APIs.
- [WISMOlabs](https://wismolabs.com/): Post Purchase Experience platform for eCommerce retailers enhancing customer satisfaction by using LiquidJS to provide customizable post-purchase experiences through programmable email, SMS, order tracking pages, and webhooks.

Feel free to create a PR or contact me to add your use case into this list!

## Financial Support

If you personally love LiquidJS or it's benefiting your business, please consider financially support us via [GitHub Sponsors](https://github.com/sponsors/harttle). Special thanks to our sponsors!



Opensense Inc.
Opensense

Eleventy
Eleventy

Peter deHaan
Peter deHaan

Touchless
Touchless

Adam Darrah
Dropkiq

Dailycontributors
Dailycontributors

coni2k
Serkan Holat



amit777
amit777

Khaled Salem
Khaled Salem

Sentry
Sentry

Checkout Blocks
Checkout Blocks

Customer IO
Customer IO

Emmanuel Cartelli
Emmanuel Cartelli


Microsoft
Microsoft




PakStyle.pk
PakStyle.pk


## Contributors โœจ

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



Jun Yang
Jun Yang

๐Ÿšง ๐Ÿ’ป
chenos
chenos

๐Ÿ’ป
Zach Leatherman
Zach Leatherman

๐Ÿ›
Tim Hardy
Tim Hardy

๐Ÿ’ป
Paul Robert Lloyd
Paul Robert Lloyd

๐Ÿ’ป ๐Ÿ›
Alec Larson
Alec Larson

๐Ÿ’ป
Patrick Malouin
Patrick Malouin

๐Ÿ’ป ๐Ÿ“–


jaswrks
jaswrks

๐Ÿ’ป
ไธ‰ไธ‰
ไธ‰ไธ‰

๐Ÿ’ป ๐Ÿค”
ssendev
ssendev

๐Ÿ’ป ๐Ÿ“–
wojtask9
wojtask9

๐Ÿ’ป
Andrew Barclay
Andrew Barclay

๐Ÿ’ป
Cory Mawhorter
Cory Mawhorter

๐Ÿ’ป
Mehdi Jaffery
Mehdi Jaffery

๐Ÿ’ป


Robin Bijlani
Robin Bijlani

๐Ÿ’ป ๐Ÿ›
Ryan Kennedy
Ryan Kennedy

๐Ÿ’ป
Sami Kukkonen
Sami Kukkonen

๐Ÿ’ป
Scott Santucci
Scott Santucci

๐Ÿ’ป
Steven
Steven

๐Ÿ’ก ๐Ÿ’ป
azu
azu

๐Ÿ“–
Joonas
Joonas

๐Ÿ’ป


Jamel A.
Jamel A.

๐Ÿ’ป
Brandon Pittman
Brandon Pittman

๐Ÿ’ป
tgrandgent
tgrandgent

๐Ÿ’ป
Martin Schuster
Martin Schuster

๐Ÿ’ป
Ray
Ray

โš ๏ธ ๐Ÿ’ป
Cristofer Gonzales
Cristofer Gonzales

๐Ÿ’ป
Raymond Camden
Raymond Camden

๐Ÿ“–


Steve Stedman
Steve Stedman

๐Ÿ“–
Anthony Ciccarello
Anthony Ciccarello

๐Ÿ“–
Bogdan Chadkin
Bogdan Chadkin

๐Ÿ’ป
Tejas Manohar
Tejas Manohar

๐Ÿ’ป
Peter deHaan
Peter deHaan

๐Ÿ“–
amit777
amit777

๐Ÿ’ป
Steffen Schuldenzucker
Steffen Schuldenzucker

๐Ÿ’ป


Pixcell
Pixcell

๐Ÿ’ป
Jason Etcovitch
Jason Etcovitch

๐Ÿ’ป
ZC
ZC

๐Ÿ“–
Memmie Lenglet
Memmie Lenglet

๐Ÿ’ป
ilhamdev0
ilhamdev0

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

๐Ÿ“–
Amit Agarwal
Amit Agarwal

๐Ÿ“–


Laurin Quast
Laurin Quast

๐Ÿ’ป
Matt Vague
Matt Vague

๐Ÿ’ป
Liam Bigelow
Liam Bigelow

๐Ÿ’ป
Jason Kurian
Jason Kurian

๐Ÿ“–
d pham (they/them)
d pham (they/them)

๐Ÿ“–
Aleksandr Hovhannisyan
Aleksandr Hovhannisyan

๐Ÿ’ป
jg-rp
jg-rp

๐Ÿ’ป


Ameya Apte
Ameya Apte

๐Ÿ’ป
tbdrz
tbdrz

๐Ÿ“–
Santi Albo
Santi Albo

๐Ÿ“–
Yahang Wu
Yahang Wu

๐Ÿ“–
hongl
hongl

๐Ÿ“–
zxx-457
zxx-457

๐Ÿ“–
prassie
prassie

๐Ÿ“–


Slav Ivanov
Slav Ivanov

๐Ÿ’ป
Daniel Rosenberg
Daniel Rosenberg

๐Ÿ’ป
bobgubko
bobgubko

๐Ÿ’ป
BaNgan
BaNgan

๐Ÿ“–
Mahyar Pasarzangene
Mahyar Pasarzangene

๐Ÿ“–
Tomรกลก Hรผbelbauer
Tomรกลก Hรผbelbauer

๐Ÿ’ป ๐Ÿ“–
Jason Garber
Jason Garber

๐Ÿ’ป


Nick Reilingh
Nick Reilingh

๐Ÿ“–
Francisco Soto
Francisco Soto

๐Ÿ’ป
David LJ
David LJ

๐Ÿ“–
Rasmus Wriedt Larsen
Rasmus Wriedt Larsen

๐Ÿ“–
Bruno Carvalho
Bruno Carvalho

๐Ÿ’ป
ๅ‚…้น
ๅ‚…้น

๐Ÿ’ป
Joel Hamilton
Joel Hamilton

๐Ÿ’ป


Max Medve
Max Medve

๐Ÿ’ป
Cosmin Popovici
Cosmin Popovici

๐Ÿ“–
Adam Tanner
Adam Tanner

๐Ÿ’ป
Guillermo Casal Caro
Guillermo Casal Caro

๐Ÿ’ป
Josh Soref
Josh Soref

๐Ÿ“–
Koen
Koen

๐Ÿ’ป
Matthieu Bacconnier
Matthieu Bacconnier

๐Ÿ“–

[shopify/liquid]: https://shopify.github.io/liquid/
[plugins]: https://liquidjs.com/tutorials/plugins.html#Plugin-List
[setup]: https://liquidjs.com/tutorials/setup.html
[doc]: https://liquidjs.com
[github]: https://github.com/harttle/liquidjs
[oc]: https://opencollective.com/liquidjs/
[contribution]: https://liquidjs.com/tutorials/contribution-guidelines.html