Hexo博客如何添加本地搜索功能

Hexo博客如何添加本地搜索功能
老刘博客我们今天主要来说一下,如何给Hexo博客添加本地搜索功能,主要是使用Hexo博客的插件来实现,插件安装之后,只要启动了博客搜索功能,就可以搜索博客的相关内容,对于提高网站的粘度还是非常有帮助的,我们主要借助Hexo博客的两个本地搜索插件来实现这个功能,对两个本地搜索插件的使用进行了描述,文章可能还有很多不足,请大家谅解,欢迎大家提意见。
使用hexo-generator-search插件
大家进入博客文件的CMD目录,然后复制下面的代码进行下载和安装
1 | npm install hexo-generator-search --save |
安装之后,如果在本地public
文件夹下面发现生成了sitemap.xml
,就表示安装本地搜索插件成功,然后就可以进入本地博客的配置文件_config.yml
,在文件最后面,或者适当位置,添加如下代码
1 | ## search config |
path - 文件路径。缺省情况下为 .如果文件扩展名为 ,则输出格式将为 JSON。否则,将导出 XML 格式化文件。
字段 - 您要搜索的搜索范围,您可以选择:
- post(默认) - 仅涵盖您博客的所有帖子。
- 页面 - 将仅涵盖您博客的所有页面。
- All - Will 涵盖您博客的所有帖子和页面。
content - 是否包含每篇文章的全部内容。如果缺省 ,则生成的结果仅涵盖标题和其他元信息,而不包含主体信息。缺省情况下为 .falsetrue
template (可选) - 自定义 XML 模板的路径。
我在使用这个插件的时候,只是简单的将上面的代码复制粘贴,但是在生成的时候报错,主要是后面的template
字段,找不到模板文件,后来看了看这个插件的安装目录,里面有个template文件夹,里面有这个search.xml文件,但是我个人水平有限,不能够将其设置出来,所以就将template字段删除了。而且这个插件的最近更新时间是去年,有强迫症的朋友估计会心里忐忑,其实只要能用就可以了。
使用hexo-generator-searchdb插件
大家进入博客文件的CMD目录,然后复制下面的代码进行下载和安装
1 | npm install hexo-generator-searchdb |
安装之后,如果在本地public
文件夹下面发现生成了sitemap.xml
,就表示安装本地搜索插件成功,然后就可以进入根目录_config.yml
中配置此插件,当然了所有参数都是可选的。
1 | ## search config |
path - 文件路径。缺省情况下为 .如果文件扩展名为 ,则输出格式将为 JSON。否则,将导出 XML 格式化文件。search.xml.json,涉及字段 - 您要搜索的搜索范围,您可以选择:
post(默认) - 仅涵盖您博客的所有帖子。
- 页面 - 仅涵盖您博客的所有页面。
- 全部 - 将涵盖您博客的所有帖子和页面。
content - 是否包含每篇文章的全部内容。如果 ,则生成的结果仅涵盖标题和其他元信息,而不包含主体信息。缺省情况下为 .falsetrue
格式 - 页面内容的形式,选项有:
- html (默认) - 正在缩小的原始 html 字符串。
- striptags - 正在缩小的原始 HTML 字符串,并删除所有标签。
- raw - 每个帖子或页面的 Markdown 文本。
有一个非常有意思的问题,我安装博客本地插件的时候,选择的hexo-generator-search,但是找到hexo-generator-searchdb的插件之后,选择了后者的配置,本地搜索竟然也能够实现,看来这两个插件有共性的内容,而且第二个插件更新时间较近,方便一些吧。当然了,两个插件无论是那个,安装之后都需要进入主题的配置文件进行相关的配置,我的主题是Solitude,配置文件内容为
1 | # Search |
然后修改为
1 | # Search |
主题配置,需要自己结合自己的主题文件,好了,最后说一下这个两个本地插件的公益地址
1 | https://github.com/next-theme/hexo-generator-searchdb |
1 | https://github.com/wzpan/hexo-generator-search |
如果您看完教程安装不成功,可以自己看一下这两个本地搜索插件的文档说明,适当的调整自己的相关设置。