
Experimental static site generator using Leptos with Bevy ECS as a data layer
Cinnog is an innovative static site generator that harnesses the power of Leptos, combined with Bevy ECS as its data layer. This sleek tool offers a modern approach to building static applications, emphasizing flexibility and performance. With Cinnog, developers can efficiently create and manage dynamic components while serving static content, making it an ideal choice for those looking to combine traditional static site generation with modern web standards.
The integration of Bevy ECS allows users to treat data as an integral part of their site architecture, providing a smooth experience when interacting with content. Its use of island mode in Leptos means that while most components are served as static HTML, only specific parts are compiled into WebAssembly, allowing for enhanced interactivity without sacrificing loading speed.
Data Layer with Bevy ECS: Utilizes Bevy's Entity Component System as an in-memory database, enabling seamless data management without extra query syntax.
Dynamic Islands: Only specific components are compiled to WebAssembly for client-side rendering while remaining content is delivered as static HTML, improving performance.
Easy Integration: Users can populate the data layer with content sourced from the file system or external APIs, enhancing the flexibility of data handling.
Rich API Experience: The user-friendly API of Bevy ECS simplifies the interaction with the data layer, making it easier for developers to fetch and manipulate data.
ECS Routing Support: Potential for generating routes directly from the ECS, leveraging existing access to the data layer within the App component for dynamic route management.
Rust Compatibility: Adheres to Rust's latest stable version, ensuring that developers can leverage the latest features and improvements in their projects.
Dual Licensing: Available under both Apache 2.0 and MIT licenses, providing flexibility for contributors and users alike.
Active Contributions: Open for contributions, allowing developers to engage with the community and enhance the framework as needed.
