Represents a single Jinja command block for template logic.
$Jinja generates template blocks using the configured block delimiters
(typically {% command %}). These blocks contain template logic such as
variable assignments, conditionals, loops, and other Jinja directives.
Example usage:
Represents a Jinja template block definition.
$JinjaBlock creates named template blocks that can be extended or overridden
in child templates. This is a fundamental feature of Jinja's template inheritance
system, allowing for modular and reusable template structures.
Example usage:
Represents a Jinja template block with opening and closing commands.
$JinjaBody creates template structures that have both opening and closing
directives with content in between. This is useful for control structures
like loops, conditionals, and custom blocks that wrap other content.
Example usage:
Represents a Jinja template comment.
$JinjaComment generates template comments using the configured comment
delimiters (typically {# comment #}). These comments are processed
by the template engine and do not appear in the final HTML output,
making them useful for template documentation and debugging.
Example usage:
Represents a Jinja template include directive.
$JinjaInclude generates template include statements that insert the contents
of another template file at the current location. This enables template
composition and code reuse across multiple template files.
Example usage:
Represents a Jinja variable output expression.
$JinjaVar generates variable output expressions using the configured
variable delimiters (typically {{ variable }}). These expressions
are evaluated by the template engine and their values are inserted
into the final HTML output.
Example usage:
Abstract base class for Jinja template engine tags.
JinjaTag extends Tag to provide specialized support for Jinja2-style
template syntax within the HTML generation system. These tags generate
template directives that are processed by the template engine rather
than rendered as standard HTML elements.
Helper class for Jinja tags
With this class, you can create Jinja tags easily.
Usage:
JJ.$include('template.html')
JJ.$var('variable_name')
JJ.$if('condition', then: JJ.$var('then_var'), otherwise: JJ.$var('else_var'))
JJ.$for(item: 'item', inList: 'items', body: JJ.$var('item'))
etc.
Abstract base class for creating and manipulating HTML elements programmatically.
Tag provides a foundation for building HTML structures in Dart code with
support for attributes, child elements, CSS classes, and inline styles.
It offers a fluent API for chaining operations and maintains the hierarchical
structure of HTML documents.
Key features: