给hexo文章添加查询功能

使用插件 hexo-generator-search ,这个插件可以从你的Hexo blog中生成一个xml/json文件用于搜索。

1. 插件下载,在博客根目录下执行下列命令:

注意:windows 电脑命令行推荐使用 Powershell,必须用管理员身份打开,然后 cdhexo 根目录,执行下面命令。

1
npm install hexo-generator-search --save

插件会下载在/node_modules 文件夹中,找到插件文件夹,可以看到 README 文档,推荐直接看 README 文档。

2. 修改全局配置文件

打开 hexo 全局配置文件 _config.yml ,加入下面的代码

1
2
3
4
5
6
search:
path: search.xml
field: post
content: true
template: ./search.xml
limit: 10000
  • path - 索引文件的路径,默认是xml文件,可以改为json格式

  • field - 搜索的范围,哪些文件你想搜索?

    • post - 只会包括博客中的所有post
    • page - 只会包括博客中的所有pages
    • all - 包括post和page
  • content - 是否包括文章的所有内容。默认设置为 true ,如果设置为 false 的话,搜索结果就只包括标题和 meta info

  • template - 自定义XML模板

  • limit - 限制搜索的条目数

3. 修改next主题配置文件

打开next主题的配置文件,找到local_search并且修改:

1
2
3
4
local_search:
enable: true
trigger: auto
top_n_per_article: 1

修改 local_searchenabletrue

top_n_per_article 字段表示在每篇文章中显示的搜索结果数量,设成 -1 会显示每篇文章的所有搜索结果数量。