tide-tera

Crates.iotide-tera
lib.rstide-tera
version0.2.4
sourcesrc
created_at2020-07-11 23:28:24.95161
updated_at2021-02-03 22:17:23.544097
descriptionUse tera templates on tide
homepage
repositoryhttps://github.com/jbr/tide-tera
max_upload_size
id264226
size70,505
Jacob Rothstein (jbr)

documentation

README

Tide-Tera Integration

This crate exposes an extension trait that adds two functions to tera::Tera: render_response and render_body. It also adds a convenience context macro for creating ad-hoc tera Contexts.


Crates.io version docs.rs docs
use tera::Tera;
use tide_tera::prelude::*;

#[async_std::main]
async fn main() -> tide::Result<()> {
    tide::log::start();

    let mut tera = Tera::new("examples/templates/**/*")?;
    tera.autoescape_on(vec!["html"]);

    let mut app = tide::with_state(tera);

    app.at("/:name").get(|req: tide::Request<Tera>| async move {
        let tera = req.state();
        let name: String = req.param("name")?;
        tera.render_response("hello.html", &context! { "name" => name })
    });

    app.listen("127.0.0.1:8080").await?;

    Ok(())
}
Commit count: 27

cargo fmt