24 releases (5 breaking)

0.12.1 Jul 16, 2020
0.12.0 Jul 5, 2020
0.11.3 Jun 30, 2020
0.10.1 Jun 21, 2020
0.1.0 Mar 14, 2020

#33 in #handlebars

44 downloads per month

MIT/Apache

80KB
2K SLoC

Disclaimer

All struct and function in this crate -- crate those based on the real crates -- are entirely fictional. All celebrity code are impersonated. 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, is the fastest 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
  • Integrated, zero copy and infallible, simd json serializer to Bytes
  • Infallible render to Bytes

Is it really the fastest?

See it for yourself in the TechEmpower benchmarks with ntex!

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

~5–7.5MB
~130K SLoC