1 unstable release
0.0.1 | Nov 21, 2020 |
---|
#38 in #meta-programming
Used in yarte_lexer
3KB
Disclaimer
All structures and functions in this crate -- even those based on the real crates -- are entirely fictional. All celebrity codes are impersonated...poorly. The following program contains coarse language and due to its content it should not be used by anyone.
Yarte
Yarte stands for Yet Another Rust Template Engine. Uses a Handlebars-like syntax, well-known and intuitive for most developers. Yarte is an optimized, and easy-to-use rust crate, with which developers can create logic around their HTML templates using conditionals, loops, rust code and template composition.
Features
- Meta programming system with all Rust expressions, conditionals, loops or modules
- Recursion in partial at compile time
- Zero copy helpers
fmt::Display
and optimizedmemcopy
implementation for render to bytes- Render numbers with
Itoa
,Dtoa
,Ryu
and itoa simd - A fancy-text debug mode to visualize the code generated by Yarte
- Emit snipped annotations at error
Is it really fast?
See it for yourself in the TechEmpower benchmarks with ntex
and in the js-framework-benchmark!
Documentation
In order to fully understand Yarte's capabilities take a look at the following documentation:
- Tests
- Our book
- Crate documentation
- Minimum supported Rust version: 1.45 or later
Acknowledgment
Yarte is based on all previous templates engines, syntax as well as its documentation is highly influenced by Handlebars.
Contributing
Please, contribute to Yarte! The more the better! Feel free to open an issue and/or contacting directly with the owner for any request or suggestion.
Code of conduct
This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at http://contributor-covenant.org/version/1/4
License
This project is distributed under the terms of both the Apache License (Version 2.0) and the MIT license, specified in LICENSE-APACHE and LICENSE-MIT respectively.
Dependencies
~1.5MB
~36K SLoC