use std::collections::HashMap;
use mustache2::{
Data,
render::{RenderManager, SourceCache, provider::StaticProvider},
};
pub fn main() {
let cache = SourceCache::default();
let mut renderer = RenderManager::new(
StaticProvider(HashMap::from([
(
"root",
r#"
{{<parent}}
{{$name}}Mustache{{/name}}
{{/parent}}"#,
),
("parent", "Hello, {{$name}}World{{/name}}!"),
])),
&cache,
);
let mut out = String::new();
if let Err(e) = renderer.render_to(&mut out, "parent", Data::Null) {
renderer.display_error(e);
return;
}
if let Err(e) = renderer.render_to(&mut out, "root", Data::Null) {
renderer.display_error(e);
return;
}
assert_eq!(out, "Hello, World!\nHello, Mustache!");
}