Crates.io | cinnog |
lib.rs | cinnog |
version | |
source | src |
created_at | 2023-12-23 19:06:44.286159 |
updated_at | 2024-12-01 18:42:58.223802 |
description | Data layer and helper methods for static site generation with Leptos |
homepage | https://github.com/NiklasEi/cinnog |
repository | https://github.com/NiklasEi/cinnog |
max_upload_size | |
id | 1079251 |
Cargo.toml error: | TOML parse error at line 18, column 1 | 18 | autolib = false | ^^^^^^^ unknown field `autolib`, expected one of `name`, `version`, `edition`, `authors`, `description`, `readme`, `license`, `repository`, `homepage`, `documentation`, `build`, `resolver`, `links`, `default-run`, `default_dash_run`, `rust-version`, `rust_dash_version`, `rust_version`, `license-file`, `license_dash_file`, `license_file`, `licenseFile`, `license_capital_file`, `forced-target`, `forced_dash_target`, `autobins`, `autotests`, `autoexamples`, `autobenches`, `publish`, `metadata`, `keywords`, `categories`, `exclude`, `include` |
size | 0 |
A static site generator using Leptos with Bevy ECS as a data layer
There is an example app which is hosted at https://cinnog.netlify.app/
Cinnog uses the island mode of Leptos. Normal Leptos components are static and will be served as HTML. Only islands will be compiled to WASM and render client side.
Blog post introducing Cinnog: https://www.nikl.me/blog/2024/bevy_ecs_as_data_layer_in_leptos_ssg/
Bevy ECS is used as data layer while the static site generation is handled by Leptos. The idea is similar to what Gatsby does with GraphQL using a Bevy ECS World as an in-memory database. The API of Bevy ECS is very nice to work with as a user. It removes any need of an extra syntax for data queries.
Users can fill the data layer with content from the file system, external APIs, or anywhere else. When all data is loaded and processed, Cinnog can build a given Leptos app and will supply the data layer in a context. Inside components, you can run Systems against the data layer (think GraphQL query in Gatsby) and use Resources.
(not in any specific order)
frontend
crate in user code?Since this project relies on Bevy, it has the same MSRV policy: latest stable Rust.
Dual-licensed under either of
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.