Github Pages+Netlify CMS实现后台管理

Posted by Ray on December 7, 2019

前提

如果你也想使用 Netlify CMS 但不懂之前的操作可以查看我之前的文章

如何使用Jekyll+github搭建博客

使用Netlify解决Github Pages不被百度收录问题

基本操作

  1. 进入netlify,创建一个新应用,关联自己的 github 仓库,Build Command输入jekyll buildPublish Directory输入_site,然后设置自定义域名和DNS配置。

  2. Github OAuth,新建一个app,callback 网址填https://api.netlify.com/auth/done,其他可以随便填写,获取Client IDSecret,再到 netlify -> settings -> access control -> oAuth ,把ID和Secret填进去。

  3. 在 github 仓库主分支 master 创建admin文件夹 包含index.htmlconfig.yml两个文件,按照需求编辑,可以参照官方文档

  4. 进入 网站域名/admin 后台登陆,开始享受。

效果如图

进阶操作

netlify跳转到gitHub

注意:如果要让百度爬虫能够访问你的博客请不要进行这个操作

直接让 netlify 编译 master 分支会造成博客变成了两份( username.github.io 和 username.netlify.com ),这个时候可以在 github 仓库新建 netlify 分支,存放GemfileGemfile.lockindex.html等文件,到netlify后台配置编译 setting -> Buil & deploy -> Deploy contexts ,将Production branch改成netlify分支,将Branch deploys改成master分支。这样访问 username.netlify.com 里面是没内容的,可以在index.html里设置跳转到 github 这边。

为后台更改登入方式

config 文件里可以配置登陆方式(查看配置方法),我是用 Github OAuth 方式,就是直接用 github 账号登入,如果你不想用 github 账号,可以在 netlify 开启identitygit gateway服务。

netlify-> 您的站点 -> settings -> identity 下找到启用git网关,然后单击启用git网关,然后在registration选择invite only,在git gateway进行 github 授权,完成后就可以邀请添加账户进行访问了。

参考文章

[1].Netlify CMS 官方文档

[2].为Github Pages添加后台管理界面

[3].Jekyll 博客 Netlify CMS 后台部署