一直以来用 J 佬的高亮搜索插件,但这个插件有个缺点(v0.9.0 已修复),当块有滚动条时,搜索时无法自动滚动到关键词位置。比如,我把代码块设置了最大高度,当超过最大高度则显示滚动条,但当我搜索时,必须得强制展开(即去掉滚动条)否则搜索时无法滚动到关键词位置,但不巧的是,我的笔记代码居多,为了不影响整体观感,一般都会设置代码块最大高度,这让该插件的可用性大大降低。
一次偶然的机会,在做项目时让 AI 写了一个搜索框 UI,发现这个搜索完全解决了上述问题。于是想不如让它用在思源上,基本满足了我平时使用时的搜索需求。
由于是简单项目,让 AI 生成后并没有进行修改,界面可能不那么漂亮,但功能足够了,不喜欢的可以自行设计或让 AI 调整下 UI。

详细使用说明 https://scriptcat.org/zh-CN/script-show-page/4637
代码
// version 1.0.2 每次打开时自动适配当前主题
// version 1.0.1 指定搜范围,仅搜索文档的内容
// see https://scriptcat.org/zh-CN/script-show-page/4637
{
const script = document.createElement('script');
script.src = 'https://scriptcat.org/lib/4637/1.0.2/TextSearchUI.js?sha384-MW58Wie2P1wp8ZCrEuIlePX5QhXE5C8B2pPuhJMf5nfO/bhc0isc5UlknyEEPo2L';
script.onload = function() {
const getTheme = () => window.siyuan.config.appearance.mode===0?'light':'dark';
const search = new TextSearchUI({ theme: getTheme(), scope: '.layout__center', beforeShow: ()=>search.setTheme(getTheme()) });
};
document.head.appendChild(script);
}
这个项目不仅可以用于思源,还可以用于任何项目的搜索功能,支持手机版。
注意
默认 ctrl/command+f 搜索,需要先去掉思源默认的 ctrl+f 按键。

欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于