russx

Crates.iorussx
lib.rsrussx
version0.3.4
sourcesrc
created_at2023-10-24 08:11:31.200858
updated_at2023-12-01 07:10:05.464043
descriptionA rust template library
homepagehttps://github.com/PizzasBear/russx
repositoryhttps://github.com/PizzasBear/russx
max_upload_size
id1012173
size23,449
PizzasBear (PizzasBear)

documentation

https://docs.rs/russx

README

russx

Documentation Latest version

Russx implements a template rendering engine based on rstml. It generates Rust code from your templates at compile time using a macro. This crate is inpired by both Askama and Leptos.

Features

  • Template instantiation
  • For loops, if-else statements, if-let statements, match statements
  • Full rust variables
  • Opt-out HTML escaping
  • Optional built-in support for Actix-Web, Axum, Gotham, Rocket, Tide, and warp web frameworks.

How to get started

First, add the russx dependancy to your crate's Cargo.toml:

cargo add russx

In any Rust file inside your crate, add the following:

use russx::Template;

russx::templates! {
    pub fn hello<'a>(name: &'a str) {
        <p>Hello, {name}!</p>
    }
}

fn main() {
    let html = hello("world").render().unwrap();
    println!("{html}");
}

You should be able to compile and run this code.

Commit count: 18

cargo fmt