介绍

环境
hexo 是安装在 NAS docker上,怎么安装有相应的文档,在本博客搜索下。

本文主要描述了怎么添加hexo博客搜索插件,然后启动搜索功能。

“hexo-generator-searchdb”插件功能比较强大,可以替代后面讲的第二个插件“hexo-generator-json-content”插件。而“hexo-generator-json-content”插件只能生产json文件,且不能定义文件名,无法替代“hexo-generator-searchdb”插件,但是“hexo-generator-json-content”可以定义生成的json文件的格式。
所以这边只介绍 “hexo-generator-searchdb”插件

hexo-generator-searchdb插件

一、插件原理

这个插件会扫描博客文章,根据“——config.yml”的配置从文章里获取内容生成一个xml/json文件的结果,类似于博客中文章信息的摘要把,搜索的时候就搜索这个文件的内容。

二、添加插件

登入NAS 服务器

1
2
docker ps
docker exec -it xxxx /bin/bash

进入 hexo 容器

1
2
3
4
5
//未配置淘宝的数据源
npm install hexo-generator-searchdb --save

//配置淘宝数据源的可以使用这条命令,网络会好一些
cnpm install hexo-generator-searchdb --save

三、配置

1、打开博客跟目录,找到“_config.yml”文件,添加以下内容。

1
2
3
4
5
search:
path: search.xml
field: post
content: true
format: html

path:表示搜索后生成的文件路径,可以生成xml和json两种格式
field:表示搜索的范围,有post、page和all三个值。
    post:所有的文章;
    page:所有顶部导航选项的页面;
    all:所有的文章和顶部导航选项的页面。
content:是否包含搜索到的文章的全部内容。如果false,生成的结果只包括标题和创建时间这些信息,没有文章主体。默认情况下是true.
format:搜索到的内容、选项的格式。
    html(默认):将html原文本缩略。
    striptags:将html原文本缩略,并删除所有标记。
    raw:记下每一篇文章或每一页的文字。

2、打开博客下主题对应的目录,找到当前正在使用的主题的“_config.yml”文件,打开进行编辑,找到“local_search”,修改enable的值为true。

themes/主题目录/_config.yml

1
2
3
# 本地搜索
local_search:
enable: true

查看

打开博客在搜索框中输入内容就可以正常使用了。