前言
在网站开发的过程中,搜索功能是非常重要的一个元素。而 hexo 是一款极其容易上手,快速构建个人博客的静态站点生成工具。在 hexo 中,我们可以通过hexo-generator-json-content 插件,将博客文章转化为 json 格式,以备搜索使用。本文主要介绍如何使用 npm 包 hexo-search-data-plugin 将扩展时书写的 csv 文件转化为 json 数据,以便前端进行搜索功能相关开发。
安装
首先,在你的 hexo 项目的根目录下,打开终端,输入以下命令:
npm install hexo-search-data-plugin --save
此时,npm 会在当前项目下安装 hexo-search-data-plugin 包。
配置
在 hexo 项目的根目录下找到 _config.yml 文件,添加以下内容:
search: path: search.json field: post content: true
其中,search 配置项包含以下三个属性:
- path: 指定生成的 json 文件名及其相对于根目录的路径。
- field: 指定搜索的字段。在本例中,指定为 post,代表搜索博客文章的相关内容。
- content: 是否需要搜索纯文本内容。若设为的 true ,则搜索结果中将包含所有匹配的内容。
执行
在 hexo 项目的根目录,打开终端,执行以下指令:
hexo clean & hexo generate
此时,hexo-custom-search.json 文件将生成在 /public 文件夹下。
前端使用
hexo-search-data-plugin 生成的 json 数据包括了所有博客文章的标题、链接、以及纯文本内容(可选),我们可以直接通过 ajax 请求该 json 数据,并进行搜索功能开发。
以下是一个示例代码:
-- -------------------- ---- ------- -- ---- ---- -------- ----------------- - ------ -------- ---- --------------- -- ----- --------- ------ -- - ----------------------------------------- - --------------------- --
如上代码,则可以打印出 hexo-custom-search.json 的内容。
有了这份数据,我们就可以进行搜索功能开发,这其中可以用到完全匹配、模糊搜索、关键词高亮等技术。
总结
hexo-search-data-plugin 插件十分轻量、简单易用,当我们需要给 hexo 博客站点添加搜索功能时,可以轻松在 hexo 网站中完成配置、生成、调用数据等全周期开发。NSNotificationCenter
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672e50520b171f02e1dc3