1 unstable release

0.0.1 Nov 21, 2020

#38 in #meta-programming


Used in yarte_lexer

MIT/Apache

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 Latest version Build Status

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 optimized memcopy 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:

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