tera 2.0.0-alpha.3

A template engine for Rust based on Jinja2/Django
Documentation
use tera::{Context, Tera, TeraResult};

static BIG_TABLE_TEMPLATE: &str = "
<table>
{% for row in table %}
<tr>{% for col in row %}<td>{{ col }}</td>{% endfor %}</tr>
{% endfor %}
</table>
";

fn setup() -> (Tera, Context) {
    let length = 100;
    let mut table = Vec::with_capacity(length);
    for _ in 0..length {
        let mut inner = Vec::with_capacity(length);
        for i in 0..length {
            inner.push(i);
        }
        table.push(inner);
    }

    let mut ctx = Context::new();
    ctx.insert("table", &table);
    let mut tera = Tera::default();
    tera.add_raw_templates(vec![("big-table.html", BIG_TABLE_TEMPLATE)])
        .unwrap();
    let mut ctx = Context::new();
    ctx.insert("table", &table);
    (tera, ctx)
}

fn render(tera: Tera, ctx: Context) -> TeraResult<String> {
    tera.render("big-table.html", &ctx)
}

fn main() {
    let (tera, ctx) = setup();
    let res = render(tera, ctx);
    println!("{:?}", res.is_ok());
}