3个版本 (破坏性更新)
0.3.0 | 2024年4月20日 |
---|---|
0.2.0 | 2024年4月18日 |
0.1.1 | 2024年1月31日 |
0.1.0 |
|
#27 in #ssg
每月37次下载
22KB
449 行
Cinnog
使用Bevy ECS作为数据层,并使用Leptos进行静态网站生成的静态网站生成器
有一个示例应用,托管在https://cinnog.netlify.app/
数据层
Bevy ECS被用作数据层,而静态网站生成由Leptos处理。这种想法类似于Gatsby使用Bevy ECS World作为内存数据库来处理GraphQL。Bevy ECS的用户API非常易于使用,它消除了数据查询的额外语法需求。
用户可以从文件系统、外部API或其他任何地方填充数据层的内容。当所有数据都加载并处理完毕后,Cinnog可以构建一个给定的Leptos应用,并将数据层作为一个上下文提供。在组件内部,您可以对数据层运行系统(类似于Gatsby中的GraphQL查询)并使用资源。
MSRV
由于此项目依赖于Bevy,因此它遵循相同的MSRV策略:最新稳定的Rust。
改进
(无特定顺序)
- Bevy ECS和Leptos有一些命名空间冲突,这有助于解决(ECS组件与Leptos组件)
- 我们能否从用户代码中移除
frontend
包? - 在Leptos组件中,应该可以轻松获取“当前实体”。直接通过路径参数进行似乎很奇怪,并且涉及多个步骤。
- 也许这只需要一个在用户空间中使用上下文的良好工作模式?
- 或者一些路径参数和实体加上下文的自动映射?
- 扩展示例以包括由ECS生成的路由(应该已经可以通过访问数据层来实现App组件)
许可证
以下任一许可证下双许可:
- Apache许可证2.0版本(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义的您有意提交以包含在作品中的任何贡献,将以上双授权,不附加任何额外条款或条件。
依赖项
~27–42MB
~694K SLoC