7 releases (breaking)
0.7.0 | Jul 22, 2024 |
---|---|
0.6.0 | Jan 5, 2024 |
0.5.0 | Jul 1, 2022 |
0.4.0 | May 3, 2021 |
0.1.0 | Dec 31, 2017 |
#67 in Template engine
1,308 downloads per month
Used in dot-silo
15KB
235 lines
Handlebars Switch Helper
This provides a Handlebars {{#switch}}
helper to
the already incredible handlebars-rust
crate.
Links of interest:
Quick Start
You can easily add the {{#switch}}
helper to a rust Handlebars object using
the Handlebars#register_helper
method:
use handlebars::Handlebars;
use handlebars_switch::SwitchHelper;
let mut handlebars = Handlebars::new();
handlebars.register_helper("switch", Box::new(SwitchHelper));
Example
Below is an example that renders a different page depending on the user's access level:
extern crate handlebars_switch;
extern crate handlebars;
#[macro_use] extern crate serde_json;
use handlebars::Handlebars;
use handlebars_switch::SwitchHelper;
fn main() {
let mut handlebars = Handlebars::new();
handlebars.register_helper("switch", Box::new(SwitchHelper));
let tpl = "\
{{#switch access}}\
{{#case \"admin\"}}Admin{{/case}}\
{{#default}}User{{/default}}\
{{/switch}}\
";
assert_eq!(
handlebars.template_render(tpl, &json!({"access": "admin"})).unwrap(),
"Admin"
);
assert_eq!(
handlebars.template_render(tpl, &json!({"access": "nobody"})).unwrap(),
"User"
);
}
Dependencies
~3–4MB
~87K SLoC