pub struct Engine { /* private fields */ }Expand description
A template engine that compiles templates into an AST and renders them.
Templates are added by name and can reference each other via {% include %}
and {% extends %} / {% block %}.
Implementations§
Source§impl Engine
impl Engine
Sourcepub fn new(mode: EscapeMode) -> Self
pub fn new(mode: EscapeMode) -> Self
Create a new engine with the given escaping mode.
Sourcepub fn add_template(&mut self, name: &str, source: &str) -> Result<(), Error>
pub fn add_template(&mut self, name: &str, source: &str) -> Result<(), Error>
Compile and register a template by name.
Returns an error if the template source contains invalid syntax
(e.g. unclosed {{ }}, mismatched {% if %} / {% endif %})
or if a template with the same name already exists.
Sourcepub fn render<S: Serialize>(
&self,
name: &str,
variables: S,
) -> Result<String, Error>
pub fn render<S: Serialize>( &self, name: &str, variables: S, ) -> Result<String, Error>
Render a named template with the given context variables.
The variables argument can be any type that implements Serialize
(e.g. serde_json::Value, a struct with #[derive(Serialize)]).
Returns an error if the template name is not registered or if an expression fails during rendering.
Auto Trait Implementations§
impl Freeze for Engine
impl RefUnwindSafe for Engine
impl Send for Engine
impl Sync for Engine
impl Unpin for Engine
impl UnsafeUnpin for Engine
impl UnwindSafe for Engine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more