32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# Hornbeam Template Engine
|
|
|
|
WIP. Will be: a lightweight and nimble HTML templating engine, designed for component reuse and ease of use with HTMX, whilst not harming iterative development time.
|
|
|
|
## Crates
|
|
|
|
* `hornbeam` — usual point of entry to the engine, useful in applications.
|
|
* `hornbeam_grammar` — grammar definition for Hornbeam templates.
|
|
* `hornbeam_ir` — intermediate representation for Hornbeam templates.
|
|
* `hornbeam_interpreter` — interpreter for Hornbeam templates, using `bevy_reflect` and being hot-reloadable. Useful in debug builds.
|
|
* `hornbeam_macros` — macros for compile-time template compilation to Rust. Useful in release builds.
|
|
|
|
## Licence
|
|
|
|
Currently under the AGPL 3 or later, but this is relatively likely to be changed at a later date.
|
|
|
|
See `LICENCE.txt`.
|
|
|
|
## Development
|
|
|
|
### Releasing
|
|
|
|
This is the command used to cut a release:
|
|
|
|
```shell-commands
|
|
cargo ws publish patch --all --force '*'
|
|
```
|
|
|
|
* `patch` could be `major` or `minor` instead.
|
|
* `--force '*'` means all packages are bumped, even though they have no changes. This keeps the version numbers in sync.
|
|
* `--all` means `demo_hornbeam_project` will be bumped even though it is not published.
|