mirror of
https://github.com/rwf2/Rocket.git
synced 2025-01-10 19:49:06 +00:00
5a4e66ec43
This follows the completed graduation of stable contrib features into core, removing 'rocket_contrib' in its entirety in favor of two new crates. These crates are versioned independently of Rocket's core libraries, allowing upgrades to dependencies without consideration for versions in core libraries. 'rocket_dyn_templates' replaces the contrib 'templates' features. While largely a 1-to-1 copy, it makes the following changes: * the 'tera_templates' feature is now 'tera' * the 'handlebars_templates' feature is now 'handlebars' * fails to compile if neither 'tera' nor 'handlebars' is enabled 'rocket_sync_db_pools' replaces the contrib 'database' features. It makes no changes to the replaced features except that the `database` attribute is properly documented at the crate root.
1.7 KiB
1.7 KiB
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.
Usage
-
Enable the
rocket_dyn_templates
feature corresponding to your templating engine(s) of choice:[dependencies.rocket_dyn_templates] version = "0.1.0-dev" default-features = false features = ["handlebars", "tera"]
-
Write your template files in Handlebars (
.hbs
) and/or Tera (.tera
) in the configurabletemplate_dir
directory (default:{rocket_root}/templates
). -
Attach
Template::fairing()
and return aTemplate
usingTemplate::render()
, supplying the name of the template file minus the last two extensions:use rocket_dyn_templates::Template; #[launch] fn rocket() -> _ { rocket::build().attach(Template::fairing()) } #[get("/")] fn index() -> Template { Template::render("template-name", &context) }
See the crate docs for full details.