Struct tera::Tera [] [src]

pub struct Tera { /* fields omitted */ }

The main point of interaction in this library.

Methods

impl Tera
[src]

Create a new instance of Tera, containing all the parsed templates found in the dir glob

The example below is what the compile_templates macros expands to.

match Tera::new("templates/**/*") {
    Ok(t) => t,
    Err(e) => {
        println!("Parsing error(s): {}", e);
        ::std::process::exit(1);
    }
}

Renders a Tera template given a Context object.

To render a template with an empty context, simply pass a new Context object

// Rendering a template with an empty content
tera.render("hello.html", Context::new());

Renders a Tera template given a Serializeable object.

If data is not an object, an error will be returned.

tera.render("hello.html", &user);

Renders a one off template (for example a template coming from a user input)

This creates a separate instance of Tera with no possibilities of adding custom filters or testers, parses the template and render it immediately. Any errors will mention the one_off template: this is the name given to the template by Tera

let mut context = Context::new();
context.add("greeting", &"hello");
Tera::one_off("{{ greeting }} world", context);

Renders a one off template (for example a template coming from a user input) given a Serializeable object.

This creates a separate instance of Tera with no possibilities of adding custom filters or testers, parses the template and render it immediately. Any errors will mention the one_off template: this is the name given to the template by Tera

Tera::value_one_off("{{ greeting }} world", &user);

Register a filter with Tera.

If a filter with that name already exists, it will be overwritten

tera.register_filter("upper", string::upper);

Register a tester with Tera.

If a tester with that name already exists, it will be overwritten

tera.register_tester("odd", testers::odd);

Select which suffix(es) to automatically do HTML escaping on, [".html", ".htm", ".xml"] by default.

Only call this function if you wish to change the defaults.

 // escape only files ending with `.php.html`
 tera.autoescape_on(vec![".php.html"]);
 // disable autoescaping completely
 tera.autoescape_on(vec![]);

Trait Implementations

impl Default for Tera
[src]

Returns the "default value" for a type. Read more

impl Debug for Tera
[src]

Formats the value using the given formatter.