pub trait HandlebarsConnExt {
    fn assign(
        self,
        key: impl Into<Cow<'static, str>> + Sized,
        data: impl Serialize
    ) -> Self; fn render_with(self, template: &str, data: &impl Serialize) -> Self; fn render(self, template: &str) -> Self; fn assigns(&self) -> Option<&Assigns>; fn assigns_mut(&mut self) -> &mut Assigns; }
Expand description

Extension trait that provides handlebar rendering capabilities to trillium::Conns.

Required Methods

Registers an “assigns” value on this Conn for use in a template. See example usage at Handlebars::new

renders a registered template by name with the provided data as assigns. note that this does not use any data accumulated by HandlebarsConnExt::assign

use trillium_handlebars::{HandlebarsHandler, Handlebars, HandlebarsConnExt};

#[derive(serde::Serialize)]
struct User { name: &'static str };

let mut handlebars = Handlebars::new();
handlebars.register_template_string("greet-user", "Hello {{name}}")?;

let handler = (
    HandlebarsHandler::new(handlebars),
    |mut conn: trillium::Conn| async move {
        conn.render_with("greet-user", &User { name: "handlebars" })
    }
);

use trillium_testing::prelude::*;
assert_ok!(get("/").on(&handler), "Hello handlebars");

renders a registered template, passing any accumulated assigns to the template. See example at Handlebars::new

retrieves a reference to any accumulated assigns on this conn

retrieves a mutable reference to any accumulated assigns on this conn

Implementations on Foreign Types

Implementors