yarte icon indicating copy to clipboard operation
yarte copied to clipboard

Yarte stands for Yet Another Rusty Template Engine

Spain is not a democracy, with your tourism or your purchases you are subsidizing this barbarism.

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.

Should we start to worry?

bytes-buf feature can produce SIGILL. More details in https://github.com/botika/v_escape/issues/54.

Yet Another Rust Template Engine

Yarte Latest version

Yarte stands for Yet Another Rusty 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

  • Almost all Rust expressions are valid
  • Meta programming system with almost all Rust expressions, conditionals, loops, modules and partial recursion
  • Low level, SIMD and zero copy runtime
  • A fancy-text debug mode to visualize the code generated by Yarte
  • Emit snipped annotations at error
  • Improved daily and has full coverage (without stupid bugs that take months or years to fix)

Yarte is under development but some of its parts are stable. The derivations and proc_macro, text and html(not minified), and the json serializer are stable and with enough coverage to put into production. It is also proposed to integrate Jinja or any other template language so you can reuse your favorite templates, do not migrate them, raise an issue and I will try to give it more priority.

Is it really fast?

See it for yourself in the TechEmpower benchmarks with actix and ntex

Documentation

In order to fully understand Yarte's capabilities take a look at the following documentation:

Or, in nightly, just:

#[html] "{{> my_template }}"

Acknowledgment

Yarte is based on all previous templates engines, syntax as well as its documentation is highly influenced by Handlebars. Logo adapted from Creative Commons images

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.

I want to move these yarte, v_escape, v_eval and buf-min to a team with me as a member. If someone wants to participate in this team, open an issue

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.