HTML template engine designed for server-side rendering like the good ol' days but more maintainable and with particular support for progressive enhancement with HTMX.
 
 
Go to file
Olivier 'reivilibre' 981812c796 Release 0.0.3
demo_hornbeam_project@0.0.3
hornbeam@0.0.3
hornbeam_grammar@0.0.3
hornbeam_interpreter@0.0.3
hornbeam_ir@0.0.3
hornbeam_macros@0.0.3

Generated by cargo-workspaces
2024-05-02 21:28:32 +01:00
demo_hornbeam_project Release 0.0.3 2024-05-02 21:28:32 +01:00
hornbeam Release 0.0.3 2024-05-02 21:28:32 +01:00
hornbeam_grammar Release 0.0.3 2024-05-02 21:28:32 +01:00
hornbeam_interpreter Release 0.0.3 2024-05-02 21:28:32 +01:00
hornbeam_ir Release 0.0.3 2024-05-02 21:28:32 +01:00
hornbeam_macros Release 0.0.3 2024-05-02 21:28:32 +01:00
.envrc Switch to a Nix flake that uses the fenix toolchain for a later Rust version 2023-11-26 20:39:09 +00:00
.gitignore Switch to a Nix flake that uses the fenix toolchain for a later Rust version 2023-11-26 20:39:09 +00:00
Cargo.lock Release 0.0.3 2024-05-02 21:28:32 +01:00
Cargo.toml Get the engine in workable condition 2023-03-02 21:23:24 +00:00
LICENCE.txt Add missing metadata for crate publication 2023-10-15 18:03:51 +01:00
README.md Add releasing instructions to README 2023-11-26 20:39:20 +00:00
flake.lock Switch to a Nix flake that uses the fenix toolchain for a later Rust version 2023-11-26 20:39:09 +00:00
flake.nix Switch to a Nix flake that uses the fenix toolchain for a later Rust version 2023-11-26 20:39:09 +00:00
shell.nix Add pkgs.rust-analyzer to nix flake 2023-11-26 19:53:40 +00:00

README.md

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:

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.