refactor: 合并为单 crate,前端改为内嵌 React 控制台

合并 stash-cli / stash-core 为根目录单 crate(lib + bin),新增 React + Vite + TS 控制台替换 Askama 模板。
build.rs 用 walkdir 把 stash-web/dist 同步到 $OUT_DIR/web,由 include_dir! 编译期内嵌,产出单文件二进制。
路由改为 / 与 /assets/** 走内嵌前端,其余交给 ServeDir,缺失路径返回内置 404。同步更新依赖、.gitignore 与 README。
This commit is contained in:
2026-10-21 17:59:08 +08:00
parent 92c510e959
commit e522a98f6f
48 changed files with 5113 additions and 273 deletions
+27
View File
@@ -0,0 +1,27 @@
use std::path::PathBuf;
#[derive(Debug, Clone)]
pub struct Config {
/// 静态页面托管根目录(存放一个或多个前端项目)
pub root: PathBuf,
/// 监听端口
pub port: u16,
/// 监听地址,默认 127.0.0.1
pub host: String,
/// 是否在根路径没有 index.html 时展示项目仪表盘
pub directory_listing: bool,
/// 是否注入 CORS 标头
pub enable_cors: bool,
}
impl Default for Config {
fn default() -> Self {
Self {
root: PathBuf::from("../public"),
port: 8080,
host: "127.0.0.1".to_string(),
directory_listing: true,
enable_cors: true,
}
}
}