chore: sync local changes to Gitea

This commit is contained in:
shumengya
2026-06-24 22:10:27 +08:00
parent 10ff96f32b
commit ad8997a5ec
105 changed files with 11146 additions and 1207 deletions

View File

@@ -1,27 +1,59 @@
# SproutBlog
Cloudflare Worker + D1 的极简博客
Cloudflare Worker + D1 + 静态资源Vite/React SPA。Worker **仅处理 `/api/*`**,前端构建产物输出到 `dist/`,由 `[assets]` 提供;`wrangler deploy` 一次部署 API + 前端
## 功能
- 公共博客
- Markdown 渲染
- 简单后台 CRUD
- 手机和电脑自适应
- 公共博客React + React Router
- Markdownmarked + KaTeX + highlight.js + Mermaid按需动态加载
- 简单后台 CRUDCookie / Basic Auth 与原先一致)
- 评论cwd-widget
- 手机与桌面适配(沿用原样式)
## 初始化
1. 创建 D1 数据库
`wrangler d1 create sproutblog`
2. 把生成的 `database_id` 填到 `wrangler.toml`
3. 应用迁移:
`wrangler d1 migrations apply sproutblog --remote`
4. 本地运行:
`npm run dev`
1. 创建 D1`wrangler d1 create sproutblog`,把 `database_id` 写入 `wrangler.toml`
2. 应用迁移:`wrangler d1 migrations apply sproutblog --remote`
3. 安装依赖:`npm install`
## 可选后台密码
## 开发
如果要给 `/admin` 加密码,设置 `ADMIN_PASSWORD`
- 一体化(会先 `vite build` 再同时拉起 Worker 与前端开发服务器)
- `npm run dev`
- Worker默认 `http://127.0.0.1:8787`(读取 `dist` 静态资源)
- 前端:`http://127.0.0.1:5173``/api` 代理到 `8787`
- 仅 Worker需已有 `dist``npm run dev:worker`
- 仅前端 + API 代理:`npm run dev:client`
- 修改 React 后若要在 `8787` 上看到最新静态文件,请再执行 `npm run build`
`wrangler secret put ADMIN_PASSWORD`
## 部署
```bash
npm run deploy
```
等同 `npm run build && wrangler deploy`
## 环境变量
- `SITE_TITLE` / `SITE_TITLE_EN` / `CWD_API_BASE`:可在 `wrangler.toml``[vars]` 中配置。
- `ADMIN_PASSWORD`:生产环境建议使用 `wrangler secret put ADMIN_PASSWORD`,勿提交仓库。
- 前端可选:`VITE_CWD_SITE_ID`(构建时注入;否则以 `/api/config` 中的 `CWD_SITE_ID` 为准)。
## API 说明(节选)
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | `/api/config` | 站点公开配置 |
| POST | `/api/admin/session` | 设置后台 Cookiebody: `{ token }` |
| GET | `/api/posts` | 列表;未登录仅返回已发布文章 |
| GET | `/api/posts/:idOrSlug?bump=1` | 详情;`bump=1` 且匿名访问已发布文章时增加浏览量 |
| POST/PUT/DELETE | `/api/posts` … | 写操作需鉴权(与原先一致) |
## 目录结构(节选)
- `src/worker` — Worker 入口
- `src/api` — 路由与 HTTP 处理
- `src/db` — D1 访问
- `client/` — Vite + React 源码,构建至 `dist/`
- `migrations/` — D1 SQL