前言
在现代化 Web 开发中,静态网站生成器变得越来越受欢迎。Netlify是当前最流行的静态站点托管平台之一,它可以为您的项目提供一个快速,可扩展和安全的环境。为了让网站具备更好的内容管理能力,Netlify 也提供了自己的 CMS Netlify CMS。本文将为您介绍一个新的 Netlify CMS 后端适配器:@igloo-be/netlify-cms-backend-gitlab,用于将 Netlify 和 Gitlab 紧密集成。
准备工作
- 一个基于 Gitlab 的源代码管理仓库
- 在 Netlify 上创建一个静态网站,并将其与您的 Gitlab 仓库连结
- 配置 Netlify CMS
安装
您可以通过以下命令来安装 @igloo-be/netlify-cms-backend-gitlab:
npm install @igloo-be/netlify-cms-backend-gitlab
配置
事实上,@igloo-be/netlify-cms-backend-gitlab 所需要的配置信息在 Netlify 中已经有所准备。您可以通过以下流程来启用它:
- 在 Netlify 进入 Site settings -> Build & deploy -> Continuous Deployment -> Deploys ,将本仓库与您的 Gitlab 仓库连接
- 在您的 Netlify 拥有者账户下的应用中注册 Netlify Identity (即 Netlify 的身份验证服务)
- 在 Netlify 的 Identity 中,对您的静态网站启用 identity 在「Services」选项卡下,在「Git Gateway」栏目中选择「Enable Git Gateway」。Git Gateway 允许了代码库的访问控制以及远程API的调用,使得Netlify CMS可以从前端使用Git API实现其功能。
此外,你还需要在 Netlify CMS 的配置文件 config.yml
中增加 backend 配置项:
backend: name: [email protected]/netlify-cms-backend-gitlab branch: master repo: YOUR_GITLAB_REPO_URL # 如: https://gitlab.com/jack/app.git
在上述配置中,要注意YOUR_GITLAB_REPO_URL
必须是有效的Gitlab存储库地址。 请确保branch指定的是存储库中的正确分支。
使用
由于我们的Netlify CMS已经与Gitlab集成了,接下来,我们需要在CMS中启用作者身份验证,以控制对文章的编辑和内容更改。添加以下配置到config.yml
文件的backend
部分中:
backend: name: [email protected]/netlify-cms-backend-gitlab branch: master repo: YOUR_GITLAB_REPO_URL auth_type: implicit
此时,我们启用了「implicit」类型的身份验证。这个设置允许作者在运行Netlify CMS的静态网站的前端,直接通过Netlify Identity进行身份认证,而无需为此设置任何后端质询。现在,让我们打开我们的CMS,在编辑器中添加/更新文章。
示例代码
下面是一段基本的 config.yml
文件示例,添加在settings.yml
的backend
部分:
-- -------------------- ---- ------- -------- ----- ------ ------------------------------------- ------- ------ ----- -------------------- ---------- -------- ------------ - ----- ------ ------ ----- --------- ------- -------------- ------- ---- ------- - - ------ -------- ----- -------- ------- -------- - - - ------ ------- ----- ------- ------- ---------- - - - ------ ------- ----- ------- ------- ------ - - - ------ ------- ----- ------- ------- ---------- -
结语
使用 @igloo-be/netlify-cms-backend-gitlab 包使得 Netlify CMS 可以无缝连接到 Gitlab,使得其在内容管理方面获得后端支持。虽然仅仅在配置上设置即可轻松使用,但对于前端开发者而言,对于配置以及对Gitlab和Netlify的原理了解是非常有意义的。希望这篇文章对于前端开发者们在日后的工作中有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066b5451ab1864dac669b6