Create Global Page Template Variables In MiniJinja
---
[dependencies]
minijinja = "2.0"
---
use minijinja::{Environment, context};
fn main() {
let mut env = Environment::new();
env.add_template("example", r#"
{% set data = namespace() %}
{% macro count_red_items(i, d) %}
{% set d.red_items = 0 %}
{% for item in i %}
{% if item == "red" %}
{% set d.red_items = d.red_items + 1 %}
{% endif %}
{% endfor %}
{% endmacro %}
{{ count_red_items(items, data) }}
{{ data.red_items }}
"#).unwrap();
let items = ["red", "green", "red"];
let tmpl = env.get_template("example").unwrap();
let output = tmpl.render(context!(items=> items)).unwrap();
println!("{}", output.trim());
}