Sveltia CMS 是基于 Git 的轻量级无头内容管理系统,作为 Decap CMS(原 Netlify CMS)的现代继任者,为存储在 Git 仓库中的内容提供快速、直观的编辑界面。
用途:为静态站点项目增加内容管理后台,让非技术编辑人员通过浏览器管理 Markdown、MDX、YAML、TOML 或 JSON 内容文件。
主要能力:
- 轻量快速:压缩后体积小于 500 KB,使用 Svelte 编译、无虚拟 DOM,通过 GraphQL API 即时获取内容,基于相关性的全内容搜索。
- Git 原生:内容与代码同仓库存储,具备完整版本控制,支持 GitHub、GitLab、Gitea、Forgejo 后端。
- 框架无关:以原生 JavaScript 包形式运行,可用于 Hugo、Jekyll、11ty、Gatsby、Astro、Next.js、SvelteKit 等,无 React/Vue 运行时依赖。
- 现代体验:支持深色模式、移动端优化、拖放上传、实时预览。
- 国际化:内置多语言、DeepL 翻译集成、编辑时切换语言。
- 图片优化:自动 WebP 转换、客户端缩放、SVG 优化。
使用方式:在站点公共目录(如 Hugo 的 static/admin、Jekyll 的 admin、Astro 的 public/admin)创建 index.html 并引入脚本 https://unpkg.com/@sveltia/cms/dist/sveltia-cms.js,再编写 admin/config.yml 配置后端仓库与 collections。认证可选 Cloudflare Workers OAuth、Vercel 或 Netlify Functions,本地开发可用个人访问令牌。配置可复用 Decap 的 config.yml,迁移时约只需修改一行。
限制与不适用场景:不支持 Google Docs 式实时多人协同编辑(可用 Sanity、Contentful、TinaCMS);不支持可视化拖拽页面构建(可用 Webflow、Builder.io 或 TinaCMS);不适用于电商实时库存或实时仪表盘等高度动态数据(应用传统数据库);需要 React 上下文可视化编辑时宜用 TinaCMS。生产环境需 OAuth 代理,单纯本地模式仅限开发。当前版本 @sveltia/cms 0.113.5(2025 年 10 月),处于公开测试阶段,预计 2026 年初发布 v1.0。