]>
git.proxmox.com Git - rustc.git/blob - vendor/handlebars/src/cli.rs
6 use serde_json
::value
::Value
as Json
;
8 use handlebars
::Handlebars
;
11 eprintln
!("Usage: handlebars-cli template.hbs '{{\"json\": \"data\"}}'");
15 fn parse_json(text
: &str) -> Json
{
16 let text
= if text
.starts_with('@'
) {
17 fs
::read_to_string(&text
[1..]).unwrap()
21 match Json
::from_str(&text
) {
28 let mut args
= env
::args();
29 args
.next(); // skip own filename
30 let (filename
, json
) = match (args
.next(), args
.next()) {
31 (Some(filename
), Some(json
)) => (filename
, json
),
34 let data
= parse_json(&json
);
36 let mut handlebars
= Handlebars
::new();
39 .register_template_file(&filename
, &filename
)
42 match handlebars
.render(&filename
, &data
) {
47 println
!("Error rendering {}: {}", filename
, e
);