hexo站内检索,可以基于hexo-generator-json-content、hexo-generator-search等插件实现,但是博客内容多的时候,生成的xml或json文件太大,增加了不少流量。
参考 可能是最省流量的 Hexo 站内搜索插件 (kieran.top) 基于hexo-generator-search-zip 探索实现了hexo-theme-bamboo主题的检索文件压缩、本地解压使用,实现路径如下:
一、轮子提取和使用
提取 TKL/ziploader.js at master · SuperKieran/TKL (github.com) 主题\source\js\ziploader.js
文件,放到hexo-theme-bamboo主题\source\js\
路径下
二、修改ejs文件
打开hexo-theme-bamboo主题\layout\_partial\head\search.ejs
文件,在第28行之后增加
<script src="<%- config.root %>js/ziploader.js"></script>
效果如下图所示:
三、配置_config.yml文件
打开博客的(注意不是主题的)_config.yml文件,修改搜索配置为:
search:
path: search.xml
zipPath: search.flv
versionPath: searchVersion.txt
field: post
四、待进一步研究的问题
kieran.top 这位兄弟还搞了”生成时间戳,前端可以根据时间戳来判断 zip 包有没有更新,没有更新就可以继续复用“的功能,没搞懂,后续继续搞。。。
发现貌似没有生效,待进一步研究。
效果查看: