Askama implements a template rendering engine based on Jinja.
It generates Rust code from your templates at compile time
based on a user-defined
struct to hold the template's context.
See below for an example, or read the book.
"Pretty exciting. I would love to use this already." -- Armin Ronacher, creator of Jinja
Askama was created by and is maintained by Dirkjan Ochtman. If you are in a position to support ongoing maintenance and further development or use it in a for-profit context, please consider supporting my open source work on Patreon.
- Construct templates using a familiar, easy-to-use syntax
- Benefit from the safety provided by Rust's type system
- Template code is compiled into your crate for optimal performance
- Optional built-in support for Actix, Axum, Gotham, Mendes, Rocket, tide, and warp web frameworks
- Debugging features to assist you in template development
- Templates must be valid UTF-8 and produce UTF-8 when rendered
- IDE support available in JetBrains products
- Works on stable Rust
- Template inheritance
- Loops, if/else statements and include support
- Macro support
- Variables (no mutability allowed)
- Some built-in filters, and the ability to use your own
- Whitespace suppressing with '-' markers
- Opt-out HTML escaping
- Syntax customization