Hexo博客增加algolia搜索功能
准备工作
首先你要有一个 Hexo 博客,我配置时的版本是 Hexo v3.9.0 和 NexT.Pisces v7.6.0。
第一步、新建 Algolia 账号
我直接 Github 登录的,然而还是非得填完手机号地址公司名之类的不可,一路 next 到让你建立 index 才算注册完成。
第二步、新建 index 取名
取什么随便,但要记住这个名字,后面要用。
第三步、新建一个 API Key
重点来了
那个什么「Search-Only API Key」,忘了它吧。我们直接新建一个 API Key。
新建API Key
右上角「New API Key」,然后设置,除了第一行是描述,其他行都是「空着不填 = 无限制」,直接看最后一行。
修改访问控制列表
这个 Key 就是你的「API Key」。
也就是 Hexo 的 _config.yml 里填的 apiKey,一会设置的环境变量 HEXO_ALGOLIA_INDEXING_KEY,都是它。
第四步、配置 Hexo
编辑 Hexo 的配置文件 _config.yml,新增
1 | algolia: |
第五步、安装 & 配置 & 运行 hexo-algolia
打开一个 Bash,推荐 Git,运行
1 | $ npm install --save hexo-algolia |
这个 apiKey 就是第三步里新建的 API Key
$ hexo algolia
理论上就 OK 了,成功的回显参考
1 | INFO [hexo-algolia] Testing HEXO_ALGOLIA_INDEXING_KEY permissions. |
假如回显类似
1 | INFO [hexo-algolia] Testing HEXO_ALGOLIA_INDEXING_KEY permissions. |
请回到第三步,确认你是否照着做了。
注意,本地测试hexo a
这个时候必须先hexo s
把服务跑起来才可以,具体也不知道是为啥
插入吐槽
ERROR [hexo-algolia] Not enough rights to update an object near line 真的卡得我头大
搜到的教程文档基本上都是远古版本,偶尔提到了 ACL(访问控制列表),好,我知道是 ACL,那么 ACL 在哪呢
目前(19.12.12)algolia 自动生成的 Search-Only API Key 是没办法修改 ACL 的,有且只有搜索权限
必须新建一个 API Key 才能编辑 ACL
主要坑就是这个 ACL,还有就是「设定环境变量」这一步有些文档写得真的令人迷惑,后来才发现是一字不动抄的 iissnan 的文档。