Decap CMS 与 Astro
Decap CMS(前身为 Netlify CMS)是一个基于 Git 的开源内容管理系统。
Decap 允许你充分利用 Astro 的所有功能,包括图像优化和内容集合。
Decap 会在你的项目中添加一个路由(通常是 /admin
),这个路由会加载一个 React 应用,允许授权用户直接从部署的网站管理内容。Decap 会将更改直接提交到你的 Astro 项目的源代码仓库中。
安装 DecapCMS
段落标题 安装 DecapCMS有两种方法将 Decap 集成到 Astro 中:
-
通过包管理器安装 Decap 使用以下命令:
-
将包导入到页面
<body>
中的<script>
标签里
配置
段落标题 配置-
在
public/admin/
创建一个静态的 admin 文件夹 -
向
public/admin/
添加config.yml
文件:文件夹public
文件夹admin
- config.yml
-
为了添加对内容集合的支持,请在
config.yml
中配置每个模式。以下示例配置了一个blog
集合,为每个条目的 frontmatter 属性定义了一个label
: -
为你的 React 应用添加
admin
路由。这个文件可以是public/admin/index.html
,与你的config.yml
放在一起,或者,如果你更喜欢使用 Astro 路由,可以是src/pages/admin.astro
。文件夹public
文件夹admin
- config.yml
- index.html
-
为了通过 Decap 编辑器启用媒体文件上传到特定文件夹,请添加一个合适的路径:
查看 Decap CMS 配置文档 以获取完整的指导和选项。
使用方法
段落标题 使用方法访问 yoursite.com/admin/
来使用 Decap CMS 编辑器。
认证
段落标题 认证Decap CMS 与 Netlify 身份验证
段落标题 Decap CMS 与 Netlify 身份验证Decap CMS 最初是由 Netlify 开发的,并且对 Netlify 身份验证 提供了一流的支持。
当你部署到 netlify 时,通过 Netlify 控制面板为你的项目配置 Identity,并在你项目的 admin
路由上包含 Netlify Identity Widget。如果你计划通过电子邮件邀请新用户,可以选择性地在你网站的首页上也包含 Identity Widget。
Decap CMS 与外部 OAuth 客户端
段落标题 Decap CMS 与外部 OAuth 客户端当部署到 Netlify 以外的托管服务提供商时,你必须创建自己的 OAuth 路由。
在 Astro 中,这可以通过在你的项目中配置了 server
或 hybrid
输出 的按需渲染路由来完成。
查看 Decap 的 OAuth 文档,了解兼容的社区维护的 OAuth 客户端列表。
社区资源
段落标题 社区资源-
Netlify 身份验证模板:astro-decap-ssg-netlify
-
按需渲染 Oauth 路由与 Astro 模板:astro-decap-starter-ssr
-
博客文章:使用基于 Git 的 CMS 管理 Astro 站点内容 作者:Aftab Alam
-
YouTube教程:在几分钟内使用 Astro 和 Netlify CMS 创建自定义博客! 作者:Kumail Pirzada
生产网站
段落标题 生产网站以下网站在生产中使用 Astro + Decap CMS:
- yunielacosta.com 作者:Yuniel Acosta — GitHub 上的源代码 (Netlify CMS)
- portfolioris.nl 作者:Joris Hulsbosch – GitHub 上的源代码