# Quickly and flexibly generate content based on handlebars templates
## Legal
Dual-licensed under `MIT` or the [UNLICENSE](http://unlicense.org/).
## Installation
cargo install handlebars-magic
## Usage
```
Generates documentation from handlebars templates
Usage: handlebars-magic
Arguments:
The input folder with templates
The output folder
Options:
-h, --help Print help
-V, --version Print version
```
For each file in the input folder, a corresponding file will be created in the output folder.
For example, this project generates updated documentation using the following call:
```
handlebars-magic templates .
```
## Supported helpers
### `from`
Searches for the prefix and starts with it if it is found. Otherwise, the entire string is returned.
{{ from "begin" "prefix begin text end" }}
renders to:
begin text end
### `to`
Searches for the prefix and starts with it if it is found. Otherwise, the entire string is returned.
{{ to ")" "hello)" }}
renders to:
hello
### `render`
Processes an argument as `handlebars`'s template.
{{ render "some handlebars template" }}
renders to:
some handlebars template
This does not look useful until we use it in conjuction with other helper such as `read_to_str` from [handlebars_misc_helpers](https://crates.io/crates/handlebars_misc_helpers):
{{ render ( read_to_str "templates/README.md" ) }}
### `codeblock`
Allows to insert markdown's fenced code block. Content would be trimmed.
{{ codeblock "bash" "echo test" }}
renders to:
```bash
echo test
```
### `exec`
Allows to include output of command.
{{ exec "echo test" }}
renders to:
test
### `handlebars_misc_helpers`
All helpers from [handlebars_misc_helpers](https://crates.io/crates/handlebars_misc_helpers).