Struct tera::Tera
[−]
[src]
pub struct Tera { pub templates: HashMap<String, Template>, pub filters: HashMap<String, fn(Value, HashMap<String, Value>) -> TeraResult<Value>>, pub testers: HashMap<String, fn(&str, Option<Value>, Vec<Value>) -> TeraResult<bool>>, pub autoescape_extensions: Vec<&'static str>, }
Fields
templates: HashMap<String, Template>
filters: HashMap<String, fn(Value, HashMap<String, Value>) -> TeraResult<Value>>
testers: HashMap<String, fn(&str, Option<Value>, Vec<Value>) -> TeraResult<bool>>
autoescape_extensions: Vec<&'static str>
Methods
impl Tera
[src]
fn new(dir: &str) -> Tera
fn render(&self, template_name: &str, data: Context) -> TeraResult<String>
Renders a Tera template given a Context
.
fn value_render<T>(&self, template_name: &str, data: &T) -> TeraResult<String> where T: Serialize
Renders a Tera template given a Serializeable
object.
fn get_template(&self, template_name: &str) -> TeraResult<&Template>
fn get_filter(&self,
filter_name: &str)
-> TeraResult<&fn(Value, HashMap<String, Value>) -> TeraResult<Value>>
filter_name: &str)
-> TeraResult<&fn(Value, HashMap<String, Value>) -> TeraResult<Value>>
fn register_filter(&mut self,
name: &str,
filter: fn(Value, HashMap<String, Value>) -> TeraResult<Value>)
name: &str,
filter: fn(Value, HashMap<String, Value>) -> TeraResult<Value>)
Register a filter with Tera. If a filter with that name already exists, it will be overwritten
fn get_tester(&self,
tester_name: &str)
-> TeraResult<&fn(&str, Option<Value>, Vec<Value>) -> TeraResult<bool>>
tester_name: &str)
-> TeraResult<&fn(&str, Option<Value>, Vec<Value>) -> TeraResult<bool>>
fn register_tester(&mut self,
name: &str,
tester: fn(&str, Option<Value>, Vec<Value>) -> TeraResult<bool>)
name: &str,
tester: fn(&str, Option<Value>, Vec<Value>) -> TeraResult<bool>)
Register a tester with Tera. If a tester with that name already exists, it will be overwritten
fn autoescape_on(&mut self, extensions: Vec<&'static str>)
Select which extension(s) to automatically do HTML escaping on.
Pass an empty vec to completely disable autoescape
Note that autoescape will happen if the template name ends with one
of the extensions given.
Example: a file named template.html
will be escaped by default but
won't if you set pass [".php.html"]
to that method.