11 releases (7 breaking)
2.0.0 |
|
---|---|
1.0.0 |
|
0.8.1 | Oct 15, 2022 |
0.4.1 | Jul 13, 2022 |
0.2.0 | Feb 11, 2020 |
#210 in Template engine
27KB
838 lines
bempline
A simple template engine for simple things.
Syntax
Variables are alphanumeric strings (underscores, too) surrounded by braces. Here's an {example}
.
You can prevent {word}
from being seen as a variable by escaping the opening brace. Like \{this}
.
Example
If you have this document in something like template.bpl
Dear {name},
Some generic email text here!
Sincerely,
Some Company
You can fill it out for the names Ferris
and Rusty
like so
use bempline::Document;
fn main() {
let doc = Document::from_file("test/template.bpl").unwrap();
let names = vec!["Ferris", "Rusty"];
for name in names {
let mut cloned = doc.clone();
cloned.set("name", name);
println!("{}", cloned.compile());
}
}
lib.rs
:
Syntax
Variables are alphanumeric strings (underscores, too) surrounded by braces. Here's an {example}
.
You can prevent {word}
from being seen as a variable by escaping the opening brace. Like \{this}
.
Example
If you have this document in something like template.bpl
Dear {name},
Some generic email text here!
Sincerely,
Some Company
You can fill it out for the names Ferris
and Rusty
like so
use bempline::{Document, Options};
fn main() {
let doc = Document::from_file("test/template.bpl", Options::default()).unwrap();
let names = vec!["Ferris", "Rusty"];
for name in names {
let mut cloned = doc.clone();
cloned.set("name", name);
println!("{}", cloned.compile());
}
}