yelog / hexo-theme-3-hexo

hexo主题:三段式设计、极简、方便 Hexo theme: three-stage design
https://yelog.org
MIT License
692 stars 206 forks source link

如何移植您主题中的搜索功能呢? #130

Closed dhndzwxj closed 1 year ago

dhndzwxj commented 1 year ago

如何移植您主题中的搜索功能呢? 或者您的项目中哪些文件负责搜索功能呢?

yelog commented 1 year ago

项目中搜索的入口在: source/js/script.js 的 inputChange 方法中,

  1. 文件名搜索就是关键字过滤
  2. 全文搜索依赖 wzpan/hexo-generator-search 这个项目生成的数据进行处理
dhndzwxj commented 1 year ago

hexo-genarator-search插件并没有返回post的tags和author,您是怎么获得这两个值的呢,我看您代码没太看懂思路ei

dhndzwxj commented 1 year ago

其实我最大的疑惑是,您的js里哪一部分调用了hexo-generator-search插件生成的数据呢

yelog commented 1 year ago

author 和 tags 的搜索不依赖 hexo-generator-search, 是通过文件列表上的属性来过滤的

image

调用 hexo-generator-search 进行全文搜索的逻辑如下:

  1. hexo-generator-search 插件会在根目录生成一个 search.xml 的检索数据
  2. 在搜索时, 在 search.js 中通过 ajax 讲这个文件的数据请求到浏览器本地
  3. 然后进行数据解析和关键字匹配
dhndzwxj commented 1 year ago

感谢您的回复和悉心知道,我明白怎么做啦~