8 releases
0.2.2 | Apr 14, 2024 |
---|---|
0.2.1 | Mar 1, 2024 |
0.2.0 | Jan 20, 2024 |
0.1.4 | Jan 16, 2024 |
#1682 in Procedural macros
Used in templr
105KB
2.5K
SLoC
templr
A templ inspired rust template engine. templr generates Rust code from your templates at compile time using a macro.
Features
- Template instantiation (with children!)
- Context for passing info deep
- Rust-like
for
,if-else
,if-let
,match
, andlet
statements (allowed in start tags!) - Full rust variables
- Opt-out HTML escaping
- Nice attributes
- We have a formatter: templrfmt!
- Optional built-in support for Actix-Web, Axum, Gotham, Rocket, Salvo, Tide, and Warp web frameworks.
How to get started
First, add the templr dependancy to your crate's Cargo.toml
:
cargo add templr
In any Rust file inside your crate, add the following:
use templr::{Template, templ, templ_ret};
pub fn hello(name: &str) -> templ_ret!['_] {
templ! {
<p>Hello, {name}!</p>
}
}
fn main() {
let html = hello("world").render(&()).unwrap();
println!("{html}");
}
You should be able to compile and run this code.
Dependencies
~285–740KB
~18K SLoC