Netlify提供静态网站的托管能力,Netlify CMS为这些静态网站提供管理内容的能力,可以让用户在线编辑源文件。
先扯个闲篇
经过几十年的发展,Web前端的能力越来越强,今天已经可以在浏览器里支持如图片和视频编辑等任务了。前端变强后,对后端的需求就渐渐减少了。现在很多Web应用没有后端,或只使用Javascript访问一两个后端服务。也就是说越来越多的网站变成静态网站。
最近看到一个新闻,随着WebAssembly的标准化,三十年前用C++编写的AutoCAD程序竟然可以编译成WebAssembly,然后在浏览器中运行。不知道这是C++程序员的福音,还是前端程序员的福音。
Netlify CMS是什么
简单的说,Netlify CMS给静态网站增加了一个控制台界面。如果在本站的网站后面加上/Admin/
,可以看到一个登录界面。这个登陆界面来自于Netlify CMS的登录管理系统,也就是Netlify CMS Identity。进入控制台之后,可以看到一个类似文件管理器的界面,可以编辑Markdown源文件。具体可以访问https://www.netlifycms.org/,首页有个视频。
也可以访问https://cms-demo.netlify.com/查看具体demo,无需密码就可以登录。
Netlify CMS支持Git工作流。也就是说网站的源文件是存储在一个Git仓库。 在Netlify CMS的Admin界面添加了文件之后,会被自动提交到Git仓库,然后触发CI(自动集成)流程,Netlify会自动帮你部署更新后的版本。
从流程的角度,如果没有Netlify CMS,那么工作流是
- 本地编辑Markdown源文件,并提交到本地Git仓库。
- 从本地Git仓库推送到服务器Git仓库。
- 服务器Git仓库通知Netlify来构建新的版本。
- Netlify发布新构建的版本。
如果使用Netlify CMS,上面的第1和第2步就被下面的步骤替代:
- 登录Admin控制台编辑文件。
- 保存文件后Netlify CMS自动帮你提交到服务器Git仓库。
为了完成上述步骤,你的服务器Git仓库必须能够支持Netlify CMS。目前:
- GitHub完全支持
- Gitlab最近也支持了,部分功能还不可用(比如Editorial Workflow)
- Bitbucket的支持也即将到来
其他
如何在已有的网站配置Netlify CMS,可以参考[Add Netlify CMS to Your Site](https://www.netlifycms.org/docs/add-to-your-site/)。试了一下,虽然配置成功,但是稍微还是显得有点繁琐,希望以后能够更简单化吧。
参考
- 提供CMS功能的后端服务列表:https://headlesscms.org/
- Netlify CMS网站自身的配置:https://github.com/netlify/netlify-cms/blob/master/website/site/static/admin/config.yml
(完)