29个版本
0.0.55 | 2024年7月28日 |
---|---|
0.0.53 | 2024年3月28日 |
0.0.48 | 2023年11月19日 |
0.0.44 | 2023年7月31日 |
0.0.32 | 2022年11月12日 |
#916 in Web编程
240 每月下载量
在 12 crates 中使用
785KB
8K SLoC
包含 (WOFF字体,180KB) static/base/fonts/icons.woff,(WOFF字体,130KB) static/base/fonts/icons.woff2
概述
PageTop核心API提供了一套全面的工具集,通过动作、组件、包和主题来扩展其功能,以满足特定需求和应用场景。
- 动作通过截取执行流程来定制PageTop的内部行为。
- 组件将HTML、CSS和JavaScript封装成功能性强、可配置和定义明确的单元。
- 包通过与PageTop API或第三方包API交互来扩展或自定义现有功能。
- 主题允许开发者在不影响功能的情况下改变页面和组件的外观。
⚡️ 快速开始
use pagetop::prelude::*;
struct HelloWorld;
impl PackageTrait for HelloWorld {
fn configure_service(&self, scfg: &mut service::web::ServiceConfig) {
scfg.route("/", service::web::get().to(hello_world));
}
}
async fn hello_world(request: HttpRequest) -> ResultPage<Markup, ErrorPage> {
Page::new(request)
.with_component(Html::with(html! { h1 { "Hello World!" } }))
.render()
}
#[pagetop::main]
async fn main() -> std::io::Result<()> {
Application::prepare(&HelloWorld).run()?.await
}
此程序包含一个HelloWorld
包,提供了一种服务,可以在默认设置下通过https://127.0.0.1:8088
访问问候网页。
📂 辅助工具
-
pagetop-macros:一组过程宏,可以增强PageTop中的开发体验。
-
pagetop-build:简化了将资源直接嵌入二进制文件的过程,适用于PageTop应用程序。
🚧 警告
PageTop框架目前处于积极开发中。API不稳定,频繁更改。不建议在生产环境中使用,直到版本0.1.0。
📜 许可证
PageTop是免费、开源和许可宽松的!除非另有说明(以下和/或在单独的文件中),本项目中的所有代码都采用以下两种许可方式之一
-
MIT许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
-
Apache许可证,版本2.0 (LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
任您选择。这意味着您可以选择您偏好的许可协议!这种双重许可方法在Rust生态系统中被视为事实标准。
✨ 贡献
除非您明确说明,否则您根据Apache-2.0许可协议有意提交给作品的所有贡献,都将如上所述双重许可,不附加任何额外条款或条件。
依赖项
~25–38MB
~654K SLoC