# guidon
[Documentation](https://docs.rs/guidon)
*guidon* is a french word for handlebars.
guidon is a small library which aims to speed up project initialization with templates.
```toml
[dependencies]
guidon = "0.1"
```
## Getting started
guidon performs templating based on [handlebars](https://handlebarsjs.com/) templating system.
Files to be handles needs to have an `.hbs` extension. Folders can be templatized too : `{{folder/subfolder}}`
```rust
use guidon::Guidon;
fn main() {
let mut guidon = Guidon::with_conf("path/to/template.toml").unwrap();
guidon.apply_template("path/to/template/dir", "path/to/destination").unwrap();
}
```
The configuration file is structured as follows :
```toml
# Optional
# By default will pick the template to apply in a folder named template in the provided folder
use_template_dir = true
# Optional
# By default any missing substitution key will raise an error.
# If false, it will silently initialize the value withe an empty string.
use_strict_mode = true
# Key value pairs for template substitution
# Each occurrence of
[variables]
test1 = "test 1"
test2 = "test 2"
```
## Minimum rust version
TODO
# License
This project is licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)
at your option.
### Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in guidon by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.