1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
//! Tera templating + smart `[vars]` handling for self-rendering TOML configs.
//!
//! See `README.md` and `ROADMAP.md` for the design rationale and migration plan.
//!
//! # Quickstart
//!
//! ```
//! use teravars::{Context, Engine, extract_vars, resolve, system_context};
//!
//! let raw = r#"
//! [vars]
//! greeting = "hello"
//! who = "{{ vars.greeting }} world"
//!
//! [server]
//! banner = "{{ vars.who }} on {{ system.os }}"
//! "#;
//!
//! let mut engine = Engine::new();
//!
//! let mut vars = extract_vars(raw).unwrap();
//! resolve(&mut vars, &mut engine).unwrap();
//!
//! let mut ctx: Context = system_context();
//! ctx.insert("vars", &vars);
//!
//! let rendered = engine.render(raw, &ctx).unwrap();
//! assert!(rendered.contains("hello world on "));
//! ```
pub use Engine;
pub use Error;
pub use ;
pub use ;
pub use ;
pub use Context;
pub type Result<T, E = Error> = Result;