LiquidJS 使用教程
1、项目介绍
LiquidJS 是一个简单、表达力强、安全且与 Shopify 兼容的纯 JavaScript 模板引擎。该项目旨在为 JavaScript 社区提供一个标准的 Liquid 实现,使得 Jekyll 站点、GitHub Pages 和 Shopify 模板可以无缝迁移到 Node.js 环境中。
LiquidJS 支持两种类型的 Liquid 语法:
- 标签(Tags):用
[% %]
包围 - 输出(Outputs):用
[[ ]]
包围
一个典型的 Liquid 模板示例如下:
[% if username %]
[[ username | append: " 欢迎使用 LiquidJS " | capitalize ]]
[% endif %]
2、项目快速启动
安装
在 Node.js 中安装
npm install liquidjs
使用 UMD 包
<script src="https://cdn.jsdelivr.net/npm/liquidjs/dist/liquid.browser.min.js"></script>
通过 CLI 直接渲染
npx liquidjs --template 'Hello, [[ name ]]' --context '{"name": "Snake"}'
基本使用
以下是一个简单的使用示例:
const { Liquid } = require('liquidjs');
const engine = new Liquid();
engine
.parseAndRender('Hello, {{ name }}!', { name: 'World' })
.then(console.log);
3、应用案例和最佳实践
应用案例
- Eleventy: 一个简单的静态站点生成器。
- Opensense: 智能邮件发送平台。
- Directus: 一个即时 REST+GraphQL API 和直观的无代码数据协作应用,适用于任何 SQL 数据库。
- Semgrep: 轻量级静态分析工具,支持多种语言。
- Rock: 一个开源的 CMS、关系管理系统(RMS)和教会管理系统(ChMS)。
最佳实践
- 模板复用: 使用 LiquidJS 的模板继承功能,减少重复代码。
- 安全渲染: 确保所有用户输入都经过适当的过滤和转义,以防止 XSS 攻击。
- 性能优化: 使用缓存机制来减少模板渲染时间。
4、典型生态项目
- Jekyll: 一个静态站点生成器,广泛使用 Liquid 模板引擎。
- GitHub Pages: 使用 Jekyll 和 Liquid 来生成静态页面。
- Shopify: 使用 Liquid 作为其主要的模板引擎。
通过这些生态项目,LiquidJS 提供了一个无缝的迁移路径,使得现有的 Jekyll 站点和 Shopify 模板可以轻松迁移到 Node.js 环境中。