pub struct Handlebars<'reg> { /* private fields */ }
Expand description

The single entry point of your Handlebars templates

It maintains compiled templates and registered helpers.

Implementations

Enable or disable handlebars strict mode

By default, handlebars renders empty string for value that undefined or never exists. Since rust is a static type language, we offer strict mode in handlebars-rust. In strict mode, if you were to render a value that doesn’t exist, a RenderError will be raised.

Return strict mode state, default is false.

By default, handlebars renders empty string for value that undefined or never exists. Since rust is a static type language, we offer strict mode in handlebars-rust. In strict mode, if you were access a value that doesn’t exist, a RenderError will be raised.

Return dev mode state, default is false

With dev mode turned on, handlebars enables a set of development friendly features, that may affect its performance.

Enable or disable dev mode

With dev mode turned on, handlebars enables a set of development friendly features, that may affect its performance.

Note that you have to enable dev mode before adding templates to the registry. Otherwise it won’t take effect at all.

Enable or disable indent for partial include tag {{>}}

By default handlebars keeps indent whitespaces for partial include tag, to change this behaviour, set this toggle to true.

Return state for prevent_indent option, default to false.

Register a Template

This is infallible since the template has already been parsed and insert cannot fail. If there is an existing template with this name it will be overwritten.

Dev mode doesn’t apply for pre-compiled template because it’s lifecycle is not managed by the registry.

Register a template string

Returns TemplateError if there is syntax error on parsing the template.

Register a partial string

A named partial will be added to the registry. It will overwrite template with same name. Currently a registered partial is just identical to a template.

Register a template from a path on file system

If dev mode is enabled, the registry will keep reading the template file from file system everytime it’s visited.

Register templates from a directory

  • tpl_extension: the template file extension
  • dir_path: the path of directory

Hidden files and tempfile (starts with #) will be ignored. All registered will use their relative name as template name. For example, when dir_path is templates/ and tpl_extension is .hbs, the file templates/some/path/file.hbs will be registered as some/path/file.

This method is not available by default. You will need to enable the dir_source feature to use it.

When dev_mode enabled, like register_template_file, templates is reloaded from file system everytime it’s visied.

Remove a template from the registry

Register a helper

Register a decorator

Register a new escape fn to be used from now on by this registry.

Restore the default escape fn.

Get a reference to the current escape fn.

Return true if a template is registered for the given name

Return a registered template,

Return all templates registered

Note that in dev mode, the template returned from this method may not reflect its latest state. This method doesn’t try to reload templates from its source.

Unregister all templates

Render a registered template with some data into a string

  • name is the template name you registered previously
  • data is the data that implements serde::Serialize

Returns rendered string or a struct with error information

Render a registered template with reused context

Render a registered template and write some data to the std::io::Write

Render a template string using current registry without registering it

Render a template string using reused context data

Render a template string using current registry without registering it

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Returns the “default value” for a type. Read more

Converts to this type from the input type.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

Uses borrowed data to replace owned data, usually by cloning. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.