博客全站搜索功能
详情可参考:hexo-generator-search
安装启动
安装依赖
前往博客根目录,打开cmd命令窗口执行1
npm install hexo-generator-search --save
修改配置文件
修改站点配置文件_config.yml
,添加如下代码:1
2
3
4search:
path: search.xml
field: post
content: true
主题中开启搜索
在主题配置文件_config.butterfly.yml
中修改以下内容:1
2local_search:
enable: true
重新编译运行
前往博客根目录,打开cmd命令窗口依次执行如下命令:1
2hexo cl && hexo generate
hexo s -p 8000
插件安装
Algolia(推荐)
关于 Algolia
搜索功能,这里有两种插件,【hexo-algolia
】、【hexo-algoliasearch
】hexo-algolia
:只能对匹配文章title,不能匹配文章内容查询到结果
配置Algolia账号
- 注册 Algolia。
进入官网地址注册,也可以直接用Github授权登录。
博主用的是google邮箱
登录 - 新建 Index
- 创建拥有一定权限的api key
如果选择第二种插件,可忽略这一步
进入【Settings > API Keys】进入【
All API Keys
>API Keys
】,点击【New API Key
】。在ACL里面增加删除和新增Object的权限(按理说只用这两个权限就行,下图中我多加了几个),然后填上indices
栏目中的index name
,选刚才你创建的那个index
,其余默认就行点击【
Create
】,这样就得到了一个api key
。注意一下,这个key
将会在下面的步骤中用到
安装插件依赖 && 写入配置
安装 Algolia 依赖。
前往博客根目录,打开cmd命令窗口执行下面代码1
npm install hexo-algoliasearch --save
注入配置。
修改站点配置文件_config.yml,添加如下代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15algolia:
appId: "F73SIJP9FA"
apiKey: "de564a72a9cb537cfae532eef3458ea7"
adminApiKey: "f324ea39e1e18289b3e351**********"
chunkSize: 5000
indexName: "dev_algolia1"
fields:
- content:strip:truncate,0,500
- excerpt:strip
- gallery
- permalink
- photos
- slug
- tags
- title【
appId
】填入图中位置的Applicaiton ID
,
【apiKey
】填入图中位置的Search-Only API Key
,
【adminApiKey
】填入图中位置的Admin API Key
,
【indexName
】填入前面创建的索引名称
。
注意:由于我们单独创建了一个index
,所以apiKey
需要改成最开始我们创建的index的apikey
执行hexo algolia
前往博客根目录,打开cmd命令窗口执行hexo algolia。1
hexo algolia
主题中写入 Alogolia 配置项。
在主题配置文件_config.butterfly.yml中修改以下内容:1
2
3
4
5
6
7
8algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)"- 重新编译运行,即可看到效果。
前往博客根目录,打开cmd命令窗口依次执行如下命令:1
2hexo cl && hexo generate
hexo s -p 8000
- 安装 Algolia 依赖。
前往博客根目录,打开cmd命令窗口执行下面代码1
npm install hexo-algolia --save
注入配置。
修改站点配置文件_config.yml
,添加如下代码:1
2
3
4algolia:
applicationID: 'F73SIJP9FA'
apiKey: 'de564a72a9cb537cfae532eef3458ea7'
indexName: 'dev_algolia1'【
applicationID
】填入图中位置的Applicaiton ID
,
【apiKey
】填入图中位置的Search-Only API Key
,
【indexName
】填入前面创建的索引名称
注意:由于我们单独创建了一个
index
,所以apiKey
需要改成最开始我们创建的index的apikey
。上传数据到 Algolia。
前往博客根目录,打开Git
,依次执行如下命令:
【your apiKey
】替换为刚才自己创建拥有权限的api key。1
2export HEXO_ALGOLIA_INDEXING_KEY=your apiKey
hexo algolia主题中写入 Alogolia 配置项。
在主题配置文件_config.butterfly.yml
中修改以下内容:1
2
3
4
5
6
7
8algolia_search:
enable: true
hits:
per_page: 10
labels:
input_placeholder: Search for Posts
hits_empty: "我们没有找到任何搜索结果: ${query}"
hits_stats: "找到${hits}条结果(用时${time} ms)"- 重新编译运行,即可看到效果。
前往博客根目录,打开cmd命令窗口依次执行如下命令:1
2hexo cl && hexo generate
hexo s -p 8000