Hexo博客Next主题添加algolia搜索

为Hexo博客系统中的Next主题添加Algolia搜索功能

注册Sign in | Algolia

新建一个Index,这里创建了一个名为leafminer-blog的索引。

安装hexo-algolia

hexo-algolia 是一个由社区提供的 Hexo 插件。

1
npm install --save hexo-algolia

配置文件放在根目录下的_config.yml​中,而不是主题文件夹下的_config.yml​, 否则博客的搜索是搜索不到任何内容的,我们需要通过 Hexo Aloglia​ 获取站点数据。

Hexo博客根目录下的_config.yml​中,配置如下:

1
2
3
4
algolia:
applicationID: 'applicationID' #Algolia Application ID
apiKey: 'apiKey' #A Search-Only API key
indexName: '...' #The name of the Algolia index to use

Hexo Aloglia获取站点数据

必须提供一个名为 HEXO_ALGOLIA_INDEXING_KEY​ 的环境变量作为单独的 API 密钥。创建它并赋予其以下有限的写访问权限:添加记录、删除记录、列出索引、删除索引。

HEXO_ALGOLIA_INDEXING_KEY=[Write API Key]

1
export HEXO_ALGOLIA_INDEXING_KEY=

使用插件提供的命令来推送你的内容到Algolia。在 hexo​站点根目录下执行hexo algolia​ 来搜集数据更新到我们刚创建的 Index​ 中,我们可以在网页中看到所有的数据,如下图:

在Next主题中启用搜索功能

确保在Next主题的配置文件中启用了Algolia搜索功能。这通常涉及到在theme_config.yml​中设置algolia_search.enable​为true​。

1
2
3
4
5
# 在 NexT 主题的配置文件里
algolia_search:
enable: true
hits:
per_page: 10

重新部署

执行hexo clean && hexo g -d​重新部署,部署完成后再次访问,即可看到搜索功能已经配置完成。

参考

  1. hexo博客添加algolia搜索-腾讯云开发者社区-腾讯云 (tencent.com)

  2. https://npmjs.com/hexo-algolia#api-key