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. At present, it supports [Handlebars] and [Tera].

Usage

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

    toml [dependencies.rocket_dyn_templates] version = "=0.1.0-rc.3" features = ["handlebars", "tera"]

  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:

    ```rust use rocketdyntemplates::{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.