# 在线内容管理方案:Gitea + Sveltia CMS > 目标:让维护人员通过网页在线编辑博客/项目,富文本写作、上传图片、插入视频, > 发布后自动构建上线。全部自托管,数据在自己服务器。 ## 1. 方案概述 采用 **Gitea(自托管 Git)+ Sveltia CMS(在线写作后台)+ Gitea Actions(自动部署)**。 - Sveltia CMS 是 Decap CMS(原 Netlify CMS)的现代继任者,**原生支持 Gitea 后端**, 通过 Gitea OAuth 登录鉴权,无需额外搭建鉴权中转服务。 - 内容仍以 Markdown 形式存放在 Gitea 仓库,结构化、可版本管理、可回滚。 - 站点保持静态,安全、运维轻。 ## 2. 架构 ``` 维护人员浏览器 │ ├─► https://shizhui.xyz/admin Sveltia CMS 后台(写作/上传/发布) │ │ Gitea OAuth 登录 │ ▼ └─► https://git.shizhui.xyz 自托管 Gitea(内容 .md + 代码仓库) │ 提交触发 Gitea Actions ▼ npm run build → /var/www/shizhui → Nginx → https://shizhui.xyz ``` ## 3. 组件角色 | 组件 | 作用 | 访问地址 | |------|------|----------| | Astro 站点 | 内容展示(已完成) | shizhui.xyz | | Gitea | 自托管 Git、内容存储、CI(Actions) | git.shizhui.xyz | | Sveltia CMS | 在线写作后台(静态页面,挂在站点 /admin) | shizhui.xyz/admin | | Gitea Actions Runner | 监听提交,自动构建并发布 | 服务器内部 | | Nginx | 托管静态站 + 反向代理 Gitea | — | ## 4. 编辑能力 - **富文本 + Markdown 双模式**:标题、加粗、列表、链接、代码块、引用等。 - **图片**:拖拽上传,自动存入仓库 `public/` 或指定媒体目录。 - **视频**: - 推荐嵌入式(B站 / YouTube),文章中粘贴嵌入;不占服务器带宽。 - 也可自托管:上传视频文件,用 HTML5 `