bennyxguo / hexo-theme-obsidian

🎨 A dark Hexo theme, it's responsive, simple but elegant.
https://obsidian.tridiamond.tech/
MIT License
781 stars 108 forks source link

全局搜索功能不好使 #98

Closed aaja closed 3 years ago

aaja commented 4 years ago

按照文档的说明 npm install hexo-generator-searchdb --save 然后主项目的_config.yml也配置了,不行,请求大佬帮助!!!万分感谢

bennyxguo commented 4 years ago

你要看看public文件夹下有没有生成search.xml文件。 image

aaja commented 4 years ago

有生成search.xml但是文件比较大1M多,是不是因为文件太大的问题呢

kasie-zhang commented 4 years ago

提供一种解决思路:

查看问题

打开浏览器,查看search功能是否引发了什么错误

控制台中可以看到search功能引发的错误是无法找到 search.xml 文件

但是 build 完成后,项目中已经生成 search.xml 文件,所以一定是某个 js 文件出错。

解决问题

在 themes\obsidian\js 目录下找到了 search.js 文件,该文件控制实现 search功能。

查看该文件下与 path 相关的变量,可以找到 getSearchFile 函数

var getSearchFile = function(){
    var path = "/search.xml";
    searchFunc(path, 'local-search-input', 'local-search-result');
};

将 path 变量更改为适合的路径:

验证是否成功

进入博客页面验证 search 功能是否可用!

完结,撒花 :rainbow: :cherry_blossom:

hei-lou commented 3 years ago

我的能加载到search文件,但是搜索之后点击文章跳转不了。上面的进度条一直在读。 image

bennyxguo commented 3 years ago

@hei-lou 可以打开控制台,看看有没有报错吗?

hei-lou commented 3 years ago

没有报错 image

hei-lou commented 3 years ago

已解决。删除掉hexo中的searchdb依赖以及theme中的search依赖