Handlebars based flexible static site generator library
Because it is slim(e) and flexible (like a slime...)
template + data = static page!
Folder structure:
``` - generated (generated html files) - data (data to insert into templates) - index.json - templates - index.hbs (handlebar templates)
```
Code:
``` extern crate slime;
extern crate serde_json; use slime::Slime; use slime::DataFormat;
fn main() {
//create new Slime wrapper
let mut s = Slime::new();
//link "index.hbs" with "index.json"
s.add_simple("index", DataFormat::Json).expect("failed to add page");
let mut some_data = s.load_data("index", DataFormat::Json).expect("failed to load json data");
//manipulate loaded data
some_data["test"]=json!("changed");
//link "index.hbs" with some manipulated data and generate "index2.html" (only save settings)
s.add("index", &some_data, "index2");
//try to generate a website
s.run().expect("failed to generate website");
}
```
let mut s = Slime::new();
Creates new wrapper
s.add_simple("index", DataFormat::Json)
Links "index.hbs" with "index.json" and register new page inside wrapper
let mut some_data = s.load_data("index", DataFormat::Json)
Load some other data
s.add("index", &some_data, "index2");
Register "index.hbs" with passed data and sets output path to "index2.html"
s.run();
Generate website using registered data and paths.