#axum #tera #tera-templates #web #web-framework #http #web-interface

lib-humus

帮助使用axum、Tera和toml创建可配置的前端界面

2个版本

0.2.1 2024年2月11日
0.2.0 2024年2月11日

#829HTTP服务器

AGPL-3.0-or-later

33KB
414

lib-humus 🌱

帮助使用axum、Tera 和 toml 创建前端界面。

⚠️ 请注意,直到发布声明为稳定的版本之前,接口可能是不稳定的。

名字的由来是什么?

这是用于培育新项目的东西,并且它包含 ter(r)a,所以叫 humus。

它做什么?

渲染模板

HumusEngine 使用 Tera 和 axum 框架以最小的代码开销在主逻辑中生成 http 响应。它能够从一个数据结构中提供 UI 和 API。

使用 axum-view(默认启用)功能标志进行此操作。axum-view+cookie 功能标志启用额外的 cookie 设置逻辑。

加载模板

为了使模板有用,它们必须从磁盘加载到内存中。 TemplateEngineLoader 负责一次性加载整个配置模板目录。

它位于默认启用的 tera-loader 功能标志之后。

加载TOML

设计一个复杂的配置系统很有趣,但 serde 和 toml 文件通常就足够了。《code>read_toml_from_file() 函数使这变得更加容易。输入文件路径,解析结构或输出错误。

它位于默认启用的 toml 功能标志之后。

兼容性

  • lib humus 0.2 与 axum 0.7 兼容
  • lib-humus 0.1 是为了与 axum 0.6 兼容而制作的

文档

你可以在 docs.rs 上找到文档

或者你可以自己构建离线文档

cargo doc -F full
firefox target/doc/lib_humus/index.html

许可证

本项目根据 AGPL-3.0-or-later 许可证 许可,这是为了确保它不会被用于专有软件。

依赖关系

~4–15MB
~190K SLoC