A comprehensive Dart implementation of the Liquid template language, originally created by Shopify.
This is a monorepo containing the following packages:
| Package | Description | Pub |
|---|---|---|
| liquify | Core Liquid template engine for Dart |
- ✅ Full support for standard Liquid syntax and semantics
- ✅ Synchronous and asynchronous rendering
- 🔒 Environment-scoped filters and tags for security and isolation
- 🛡️ Strict mode for security sandboxing
- ⚡ Template-level customization via environment setup callbacks
- 🔧 Extensible architecture for custom tags and filters
- 🚀 High-performance parsing and rendering
- 📁 File system abstraction for template resolution
- 🎨 Layout and block inheritance support
Add Liquify to your pubspec.yaml:
dependencies:
liquify: ^1.5.1Basic usage:
import 'package:liquify/liquify.dart';
void main() async {
final template = Template.parse(
'Hello, {{ name | upcase }}!',
data: {'name': 'World'},
);
print(template.render()); // Hello, WORLD!
}For more examples and detailed documentation, see the liquify package README.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License.
- Shopify for the original Liquid template language
- The Dart team for the excellent language and tools
- LiquidJS for their comprehensive set of filters
- liquid_dart for their initial Dart implementation
