# VitePress-CMS VitePress-CMS 是一个面向 VitePress 的可视化内容管理后台。它的目标是让用户通过网页界面管理 Markdown 页面、站点结构、主题配置与 GitHub 发布流程。 ## 当前版本 当前项目已经从静态原型升级为 Vue 3 + TypeScript + Vite 工程。 已完成的原型能力: - 页面目录、搜索与新建页面 - Markdown 编辑与预览切换 - Frontmatter 标题和描述编辑 - 导航栏与侧边栏管理界面 - 站点基础配置界面 - 发布中心与部署状态模拟 ## 本地运行 ```bash npm install npm run dev ``` Windows PowerShell 如果拦截 `npm.ps1`,可以使用: ```bash npm.cmd install npm.cmd run dev ``` ## 初始账户 项目启动时会自动创建 SQLite 数据库: ```text data/vitepress-cms.sqlite ``` 如果数据库里还没有系统管理员,会自动创建初始账户: ```text 邮箱:admin@example.com 密码:admin123456 角色:system_admin ``` 可以通过环境变量修改初始账户: ```bash CMS_ADMIN_EMAIL=admin@your-domain.com CMS_ADMIN_PASSWORD=change-me ``` ## 构建验证 ```bash npm run build ``` ## 测试站点 VitePress 测试站点放在项目内的独立子目录: ```text test-vitepress/ ``` 它有自己的 `package.json` 和依赖,不会让 VitePress 成为 CMS 主项目的一部分。这样既方便开发测试,也能保持主项目依赖干净。 运行测试站点: ```bash cd test-vitepress npm install npm run dev ``` ## GitHub 连接 当前版本支持两种 GitHub 连接方式: 1. GitHub OAuth 登录后选择仓库。 2. 手动输入 token、owner、repo、branch 和站点目录。 使用 OAuth 登录前,需要创建 GitHub OAuth App,并配置环境变量: ```bash GITHUB_CLIENT_ID=xxx GITHUB_CLIENT_SECRET=xxx ``` 开发环境 callback URL: ```text http://localhost:5173/api/github/callback ``` Token 或 OAuth 授权至少需要仓库内容读写权限。保存页面或配置时,CMS 会通过 GitHub Contents API 创建 commit。 站点目录示例: - VitePress 在仓库根目录:留空 - VitePress 在 `docs/`:填写 `docs` ## 下一步 1. 建立 GitHub OAuth 登录流程。 2. 读取仓库中的 `docs/` 页面文件。 3. 解析 `.vitepress/config.ts` 中的常用配置。 4. 将页面和配置修改提交为 GitHub commit。 5. 显示 GitHub Pages 或 Actions 部署状态。