• 安全渲染

    Liquid 模板有很强的可读性和容错性,适用于开放给设计师和客户。运算符和表达式都先解析到 AST 再去渲染,避免了 evalnew Function

  • 纯 JavaScript

    纯 JavaScript 的没有 Native Binding 的 Liquid 实现,Node.js 和浏览器通用。同时提供了 CDN 可用的 CMD, ESM 和 CJS 打包。

  • Shopify 兼容

    支持 shopify/liquid 的所有标签和过滤器,Jekyll 站点, Github PagesShopify 模板 都可以轻松迁移到 Node.js。

  • TypeScript

    整个项目在 TypeScript strict 模式下重写,让这个库拥有顺滑的使用体验,同时确保了一致的 API 和实时的、精确的文档。

import { Liquid } from 'liquidjs'
const engine = new Liquid()
const tpl = engine.parse('Welcome to {{v}}!')
engine.render(tpl, {v: "Liquid"}).then(console.log)
// Outputs "Welcome to Liquid!"

贡献

LiquidJS 欢迎任何形式的贡献,可以从 阅读贡献指南 开始!感谢这些参与过 LiquidJS 项目的人:

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 Yahang Wu hongl zxx-457 prassie Slav Ivanov Daniel Rosenberg bobgubko BaNgan Mahyar Pasarzangene Tomáš Hübelbauer Jason Garber Nick Reilingh Francisco Soto David LJ Rasmus Wriedt Larsen Bruno Carvalho 傅鹏 Joel Hamilton Max Medve Cosmin Popovici Adam Tanner Guillermo Casal Caro Josh Soref Koen Matthieu Bacconnier

赞助

如果你喜欢 LiquidJS 或你的公司在使用 LiquidJS,请考虑 赞助 LiquidJS

Opensense Inc. Eleventy Peter deHaan Touchless Adam Darrah Dailycontributors coni2k amit777 Khaled Salem Sentry Checkout Blocks Customer IO Emmanuel Cartelli Microsoft PakStyle.pk Syntax Podcast Cartelli Emmanuel