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 后台部署