问题描述

在使用butterfly主题的时候,发现本地搜索功能无法使用。

解决方法

在使用butterfly主题中,想要启用本地搜索功能,有两个配置文件需要修改才能启用。
至于如何启用,网上已经有非常多的教程,这里就不再赘述。
不过,跟着网上教程配置后,发现本地搜索功能还是无法使用,主要是忽略的一个配置设置。
下面是具体的设置步骤:

1. 首先,需要安装所需要的依赖包,在hexo根目录下执行如下命令:

1
npm install hexo-generator-search --save

2. 修改站点配置文件_config.yml,在_config.yml中找到如下配置【没有找到的话,请自行添加】:

1
2
3
4
5
search:
path: search.xml
field: post
content: true
template: ./search.xml

3. 在主题配置文件_config.butterfly.yml中开启本地搜索功能,找到如下配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
search:
# Choose: algolia_search / local_search / docsearch
# leave it empty if you don't need search
use: local_search # 确保使用的搜索类型已指定
placeholder: "搜索文章……"

# Algolia Search
algolia_search:
# Number of search results per page
hitsPerPage: 6

# Local Search
local_search:
enable: false
# Preload the search data when the page loads.
preload: true
# Show top n results per article, show all results by setting to -1
top_n_per_article: -1
# Unescape html strings to the readable one.
unescape: false
CDN:

# Docsearch
# https://docsearch.algolia.com/
docsearch:
appId:
apiKey:
indexName:
option:

配置中,将local_search的enable设置为true即可启用本地搜索功能。
最关键的是,由于search中有三个配置项,algolia_search、local_search、docsearch这三种不同的搜索功能,我们需要在所以需要将use设置为local_search,这样才会启用本地搜索功能。

4. 最后,生成和部署:在修改配置文件后,确保运行以下命令来重新生成和部署你的博客:

1
2
3
hexo clean
hexo g
hexo s

详情可参考 hexo-generator-search