Basics
Last updated
Last updated
Jael syntax is a superset of HTML. The following is valid both in HTML and Jael:
However, Jael adds two major changes.
Firstly, text blocks can contain interpolations, which are merely Dart expression contained in double curly braces ({{ }}
). The value within the braces, once evaluated will be HTML escaped, to prevent XSS. To achieve unescaped output, append a hyphen (-
) to the first brace ({{- }}
).
Secondly, whereas in HTML, the values of attributes can only be strings, Jael allows for their values to be any Dart expression:
Values are handled as such:
Maps: Serialized as though they were style
attributes.
Iterables: Joined by a space, like class
attributes.
Anything else: toString()
is invoked.
In case the name of your attribute is not a valid Dart identifier, you can wrap it with quotes, and it will still be processed as per normal:
These will also be HTML escaped; however, you can replace =
with !=
to print unescaped text: