From f63af188949327933db5564db237c8a3c1a31d5f Mon Sep 17 00:00:00 2001 From: wonder Date: Wed, 27 May 2026 18:11:48 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E4=B8=AD=E6=96=87=20?= =?UTF-8?q?README=20=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 --- README.md | 70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e8fca75..ee02e27 100644 --- a/README.md +++ b/README.md @@ -1 +1,69 @@ -Slide \ No newline at end of file +# Slide + +基于 [Slidev](https://sli.dev/) 的多演示文稿项目,通过 Gitea Actions 实现 Docker 自动部署。 + +## 快速开始 + +```bash +pnpm install +pnpm run dev # 启动开发服务器 http://localhost:3030 +``` + +## 项目结构 + +``` +index.html # 首页(列出所有演示文稿) +decks/ + / + slides.md # 幻灯片入口 + pages/ # 额外幻灯片文件(通过 src: ./pages/xxx.md 导入) + public/ # 静态资源(图片、字体) +scripts/ + build.sh # 构建所有演示文稿 +.gitea/workflows/ # CI/CD 流水线 +dist/ # 构建产物(已 gitignore) +``` + +## 现有演示文稿 + +| 演示文稿 | 开发命令 | 构建命令 | +|----------|---------|---------| +| demo | `pnpm run dev:demo` | `pnpm run build:demo` | +| showcase | `pnpm run dev:showcase` | `pnpm run build:showcase` | + +## 命令 + +```bash +pnpm run dev # 开发模式(默认加载 demo 演示文稿) +pnpm run dev: # 开发模式(加载指定演示文稿) +pnpm run build # 构建所有演示文稿 → dist/ +pnpm run build: # 构建单个演示文稿 +pnpm run serve # 构建并在 http://localhost:3030 提供服务 +pnpm run export # 导出为 PDF(需要 playwright-chromium) +``` + +## 添加新演示文稿 + +1. 创建目录:`decks//` +2. 添加 `decks//slides.md`,写入 Slidev frontmatter +3. (可选)添加 `pages/` 和 `public/` 子目录 +4. 在 `index.html` 的 `decks` 数组中注册名称 +5. 在 `package.json` 中添加 `dev:` 和 `build:` 脚本 + +## CI/CD + +推送到 `main` 分支将触发 [Gitea Actions 流水线](.gitea/workflows/deploy.yaml): + +1. 拉取代码 +2. 安装依赖(`pnpm install`) +3. 构建所有演示文稿(`pnpm run build`) +4. 将 `dist/` 部署到 nginx 容器,对外端口 **8080** + +运行器为自托管的 Gitea Act Runner(`aliyun` 标签),使用 Docker 模式。 + +## 技术栈 + +- [Slidev](https://sli.dev/) — 基于 Markdown 的幻灯片框架 +- [pnpm](https://pnpm.io/) — 包管理器 +- Nginx — 生产环境服务 +- Gitea Actions — CI/CD