liquify 1.3.0 copy "liquify: ^1.3.0" to clipboard
liquify: ^1.3.0 copied to clipboard

A powerful and extensible Liquid template engine for Dart. Supports full Liquid syntax, custom tags and filters, and high-performance parsing and rendering.

1.3.0 #

  • Correctly check for elsif tags and not elseif
  • tablerow - use seperate buffer for each row being rendered
  • refactor parsers for if/case/for to better capture content in else branches etc

1.2.0 #

๐Ÿ”’ Environment-Scoped Registry #

  • Add environment-scoped filter and tag registration
  • Add strict mode for security sandboxing
  • Add Environment.withStrictMode() constructor
  • Add Template API support for custom environments
  • Add environment cloning with local registrations

๐Ÿ”ง Parser Improvements #

  • Fix operators to prevent invalid matches with adjacent words
  • Enhance comparison, logical, and unary operator parsing
  • Improve operator precedence handling

๐Ÿท๏ธ Render Tag Fixes #

  • Fix variable scope isolation in render tags
  • Prevent variable leakage to parent scope
  • Add comprehensive scope isolation tests

๐Ÿ“š Documentation #

  • Add environment-scoped registry documentation

1.1.0 #

๐Ÿ“š Documentation #

  • Complete documentation overhaul: Added comprehensive documentation system
  • Examples documentation: Added 5 detailed example guides covering basic usage, layouts, custom tags, drop objects, and file system integration
  • Tags documentation: Complete reference for all 21 tags with usage patterns and examples
  • Filters documentation: Comprehensive documentation for 68+ filters across 7 categories (array, string, math, date, HTML, URL, misc)
  • API documentation: Structured documentation hub with cross-references and navigation

๐Ÿงฎ Filters #

  • NEW: Add parse_json filter for parsing JSON strings into Dart objects
  • Enhancement: Math filters now handle null values gracefully (null treated as 0, prevents runtime type cast errors)
  • Enhancement: Complete expression-based filters (where_exp, find_exp, group_by_exp, etc.) with proper Liquid expression evaluation
  • Enhancement: Add missing array manipulation filters: compact, concat, push, pop, shift, unshift, reject, sum, sort_natural, group_by, has
  • Fix: Filter arguments now support member access expressions (e.g., append: features.size)

๐Ÿ—๏ธ Core Improvements #

  • Fix: Boolean literal parsing in comparison operations (true/false now parsed as literals instead of identifiers)
  • Enhancement: FileSystemRoot and MapRoot now have extensions and throwOnError support
  • Complete: 100% filter test coverage with comprehensive regression tests

๐Ÿท๏ธ Tags #

  • NEW: comment
  • NEW: doc

๐Ÿงช Testing #

  • Complete test coverage for all implemented filters
  • Add regression tests for boolean literal parsing
  • Enhanced render tag tests

1.0.4 #

  • Fix FileSystemRoot to handle null fileSystem argument safely and consistently fallback to LocalFileSystem
  • Add tests for FileSystemRoot null fileSystem behavior

1.0.3 #

  • Fix contains operator

1.0.2 #

  • allow iterating over key value pairs in for tags

1.0.1 #

  • Disable internal resolver/analyzer logging

1.0.0 #

  • Layout tag support
  • Async rendering support

1.0.0-dev.2 #

  • Template Enhancements:

    • Added layout tag support with title filter.
    • Implemented template analyzer and resolver.
  • Analyzer Improvements:

    • Initial support for a static analyzer.
    • Extensive testing and improvements in static analysis.
    • Enhanced resolver and analyzer integration.
  • Filter Enhancements:

    • Enabled dot notation for array filters.

1.0.0-dev.1 #

  • layout tag support

0.8.2 #

  • Make sure we register all the missing string filters

0.8.1 #

  • support elseif tags

0.8.0 #

  • Start throwing exceptions when parsing fails

0.7.4 #

  • For tag: make sure iterable is not null before assignment

0.7.3 #

  • Truthy support for binary operators

0.7.2 #

  • Array support

0.7.1 #

  • array support

0.7.0 #

  • Fix parse failure for single { character
  • Better whitespace control handling
  • Optional tracing and linting

0.6.6 #

  • Allow identifiers with hyphens

0.6.5 #

  • Member access fix

0.6.3 #

  • Filtered assignment fix

0.6.2 #

  • Group filters into modules

0.6.0 #

  • Empty type
  • MapRoot Root implementation

0.5.0 #

  • Filesystem lookup
  • Render tag

0.4.0 #

  • Drop support

0.3.0 #

  • Support floating point numbers
  • Support negative numbers

0.2.0 #

  • Add built in filters

0.1.0 #

  • Initial version.
14
likes
150
points
2.22k
downloads

Publisher

verified publisherglenfordwilliams.com

Weekly Downloads

A powerful and extensible Liquid template engine for Dart. Supports full Liquid syntax, custom tags and filters, and high-performance parsing and rendering.

Repository (GitHub)
View/report issues

Topics

#liquid #templating #teamplate-engine #dart

Documentation

API reference

Funding

Consider supporting this project:

www.buymeacoffee.com

License

MIT (license)

Dependencies

args, file, gato, html, html_unescape, intl, logging, petitparser, timezone

More

Packages that depend on liquify