rocket_dyn_templates-community

Crates.iorocket_dyn_templates-community
lib.rsrocket_dyn_templates-community
version0.3.2
created_at2025-12-16 23:26:02.563849+00
updated_at2026-01-20 18:46:02.100664+00
descriptionDynamic templating engine integration for Rocket. (Community Fork)
homepagehttps://rocket.rs
repositoryhttps://github.com/rwf2/Rocket/tree/master/contrib/dyn_templates
max_upload_size
id1988916
size146,412
Martyn P (martynp)

documentation

https://api.rocket.rs/master/rocket_dyn_templates/

README

dyn_templates ci.svg crates.io docs.svg

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. It supports Handlebars, Tera and MiniJinja.

Usage

  1. Enable the rocket_dyn_templates feature corresponding to your templating engine(s) of choice:

    [dependencies.rocket_dyn_templates]
    package = "rocket_dyn_templates-community"
    version = "0.3.2"
    features = ["handlebars", "tera", "minijinja"]
    
  2. Write your template files in Handlebars (.hbs) and/or Tera (.tera) in the configurable template_dir directory (default: {rocket_root}/templates).

  3. 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.

Commit count: 2456

cargo fmt