doido_view/engine.rs
1pub trait TemplateEngine: Send + Sync {
2 fn render(&self, template: &str, context: &serde_json::Value) -> doido_core::Result<String>;
3 fn reload(&self) -> doido_core::Result<()>;
4
5 /// Render a template by its **exact** registered name (including any
6 /// `.html.tera` / `.text.tera` suffix), bypassing the `.html.tera` suffix
7 /// that [`render`](Self::render) appends. Used e.g. to render a mailer's
8 /// text part. The default delegates to [`render`](Self::render) for engines
9 /// that do not distinguish variants.
10 fn render_named(&self, name: &str, context: &serde_json::Value) -> doido_core::Result<String> {
11 self.render(name, context)
12 }
13}