引言
我们都知道,Hexo 是一个静态部署博客的框架,优点在于速度快,成本低(无需服务器),缺点在于繁琐,你每次更新文章都需要去改代码,再部署推送,修改配置也是如此,你不能像WordPress一样直接在后台修改配置并使它生效。
不过有很多教程可以让你无需繁琐的部署,只管推送代码,通过GitHub Actions,travis-ci,Vercel,Netlify 等都可以便捷的进行博客的部署,只管写代码然后推送就好,类似的教程有非常多,在此就不再重复介绍。那么,我们是否可以在此基础上,更加便捷的进行静态博客的写作和管理?答案是可以的。
我们可以通过将博客部署到 Netlify,并使用 Netlify cms 来做到这一点。
首先,我们来了解一下配置完之后可以做到哪些事情?
- 在线新建,编辑,预览,删除博客文章
- 支持文章草稿,工作流
- 支持对博客图片的管理
- 支持在线修改博客配置,例如对首页顶部图的修改,友链的修改
图片预览
在线演示
为了更加直观,原作者做了一个已经配置完毕的博客,你可以在线体验上述功能 👉点我查看
简单说明
下面我将会以 Hexo + NexT 主题做演示,并配置 Fluid 主题 的友链功能,达到在线编辑预览友链的目的,但此方法不仅仅只适用于 Fluid 主题 的友链功能,其他各类主题也可以通过此方法达到在线修改配置的目的,只要你配置完成,几乎可以修改所有配置项。包括但不限于以下类型的文件yml、yaml、toml、json、md、markdown、html具体请查看 👉Netlify cms 文档。
具体配置
Netlify cms 使用的前提条件是你必须将博客部署到 Netlify 上。因为网上有很多部署教程,这里不再重复。
可以部署到其他托管网站上,但需要自行修改
具体可以查看:
准备工作
在部署完成后,你需要开启 Identity
:
进入设置中:
将 Registration preferences
修改为 Invite only
此项为是否开启注册,默认是开启注册。修改为 Invite only
后表示仅受邀请的用户可以注册,当然此项你可以在自己注册完毕之后再行修改。
下滑找到 Git Gateway
并开启。
至此准备工作完成。
修改博客配置
在博客根目录中找到
_config.yml
并修改,这一步是跳过文件夹渲染,不然后面会出错:
skip_render: admin/*
在博客 source
文件夹中,创建 admin
文件夹,并新建两个文件 index.html
和 config.yml
:
在 index.html
中添加以下内容:
|
因为涉及到 Jsdelivr 加速,所以我选择把两个 js 源文件下载到 theme\next\source\js
中:
<!doctype html> |
在 config.yml
中添加以下折叠内容:
backend: |
请注意,这里我对 Fluid 主题进行了配置,例如 banner_img
、index_img
等项目,不能正常使用请删除。如果你不是 Fluid 主题,请根据实际情况对 source\admin\config.yml
配置进行修改。