Crates.io | rocket_dyn_templates |
lib.rs | rocket_dyn_templates |
version | 0.2.0 |
source | src |
created_at | 2021-06-09 16:57:35.422285 |
updated_at | 2024-05-23 20:35:43.786939 |
description | Dynamic templating engine integration for Rocket. |
homepage | https://rocket.rs |
repository | https://github.com/rwf2/Rocket/tree/v0.5/contrib/dyn_templates |
max_upload_size | |
id | 408242 |
size | 84,567 |
dyn_templates
This crate adds support for dynamic template rendering to Rocket. It
automatically discovers templates, provides a Responder
to render templates,
and automatically reloads templates when compiled in debug mode. At present, it
supports Handlebars and Tera.
Enable the rocket_dyn_templates
feature corresponding to your templating
engine(s) of choice:
[dependencies.rocket_dyn_templates]
version = "0.2.0"
features = ["handlebars", "tera"]
Write your template files in Handlebars (.hbs
) and/or Tera (.tera
) in
the configurable template_dir
directory (default:
{rocket_root}/templates
).
Attach Template::fairing()
and return a Template
using
Template::render()
, supplying the name of the template file minus the
last two extensions:
use rocket_dyn_templates::{Template, context};
#[get("/")]
fn index() -> Template {
Template::render("template-name", context! { field: "value" })
}
#[launch]
fn rocket() -> _ {
rocket::build().attach(Template::fairing())
}
See the crate docs for full details.