-
文档树、大纲目录、标签书签、反链等面板简单过滤器
-
更新:
-
// add filters for all各种过滤器 - 优化版 V1.0 // 原作者版本: https://ld246.com/article/1736828257787 // chuchen接力版:增加按钮循环控制,css优化,支持拼音模糊搜索:首字母或全拼 // V0.2:支持混合逻辑语法:'空格 '分割关键词(AND逻辑),'竖线|'分割关键词(OR逻辑),'英文感叹号!'开头的关键词(NOT逻辑),暂不支持转义 // V0.3:支持关键词高亮,支持Achuan大佬的最新的脚注面板https://ld246.com/article/1752516343833 // V0.4:支持按钮隐藏,在任意reset按钮连续右键3次恢复 // V0.5:支持移动端面板过滤器,MOBILE_ENABLED开关 // V0.6: 性能优化、模块化架构重构、添加LRU缓存机制管理优化、支持单个字全拼高亮、支持多音字识别和搜索、预加载拼音库 // V0.7: 优化文档树过滤体验,紧凑布局,扁平化样式 // V0.8:针对文档树过滤器进行超性能优化,预构建DOM映射,批量拼音转换,动态批次大小,智能调度策略 // V0.9:集成展开文档树功能,支持一键展开、折叠按钮递归深度控制、笔记本右键菜单展开、移动端长按展开 // V1.0:DOM查询缓存,批量事件委托 ,CSS选择器合并
-
-
特别提醒,建议把拼音库提前下载到本地,放到自己喜欢的路径,像我那样设定即可。
'/plugins/myFonts/pinyin-pro.min.js', -
重构,新的增强:
- 限于当前过滤的规则仅处理面板出现的内容,所以查找文档名需要先全部展开笔记本——特此增加一键展开所有笔记本的按钮,也可以右击指定的笔记本(移动端为长按)。
- 一键按钮需要等待上次展开动作完成,可能出现页面字体重叠,需要手动刷新索引(选不限的情况则每次都自动刷新),可根据自己的笔记本情况调整每次展开的策略——策略同时绑定到每个文档树折叠按钮。
- 展开过程中可通过点击笔记本,则折叠自动中断动作。
- 1

- 2

-
分享地址:思源笔记代码片段/Chuchen_各种过滤器_优化版.js · chuchen0719/思源笔记-代码片段分享 - 码云 - 开源中国
(屎山代码太长了~发不出来) -
默认大纲输入模式【¥6】??
-
前情
- 很多人提到思源笔记,会把它归类“文档型笔记”,以区分于“大纲型笔记”。
当然思源用户也知道,横竖都兼容,就敲多个- 的事情。 - 总有些别的笔记难民在纠结思源用大纲的会不会碍手,确实我也是从大纲类型笔记主力转移过来的,因为我更偏好于大纲笔记的记录方式,更容易激发“结构化思考”。
- 在对思源用多了之后,发现还是有些操作空间的,特别是最近 2 个月发现代码片段就足以实现。
- 很多人提到思源笔记,会把它归类“文档型笔记”,以区分于“大纲型笔记”。
-
路径
-
首先,我能看到的差别在哪?
- 首先是要省掉手打前缀符的功夫,光标所在自动转换为列表就好了。
- 其次是要方便缩进缩出,这是大纲笔记的精神,而思源节点是嵌套结构。
- 列表块不同类型的兼容?有序列表,任务列表与无序列表在同一个列表块要注意什么?
- 列表与标题的真“大纲”之争?虽然两者在思源不冲突,但如何实现在用列表的时候能体现纲领。
- 如果都是列表块(容器块),以后可以支持更有趣的查询?
-
那现在这个代码就是用些很简单粗暴的方式实现了前三点。至于流畅度,这个很主观,我只能说我能接受。
-
-
现有的功能演示:
-
自动转换块,以面包屑按钮为准,默认是自动激活,但前提是需要先(点击)激活编辑区,按钮快捷键默认是 Alt+I(可修改),轮流切换可开关。
-
单个块按 tab 合并
- 如果前一个块是列表块,会合并为一个容器块。
- 如果前一个块是段落块,会把这个段落块转换为列表块再合并为一个容器块。
- 如果涉及有序列表和任务列表,会出现额外的处理。
-
多选按 tab
- 除特定的块(比如分隔线、嵌入块)外, 段落块(含图片块)、列表块、标题块、超级块、引述块、代码块、公式块、表格块等都可以一起合并到同一个列表块。
-
切换类型
- 默认快捷键是 Alt+K,轮流切换整个列表块的类型,如果不需要那么统一,建议在下一个节点转换好再合并。
- 移动端是长按列表项时候出现的菜单,对了前面功能(除了多选 tab)在移动端都是支持的。
- 在超级块里面的列表块做了特别的支持。
-
shift+tab
-
如果已转换的块不想用列表想用默认的怎么办?
- 如果是刚转换完的用 ctrl+z,如果不是之前转换的用 shift+tab。
-
转换为段落块时对原容器块的属性进行了一定程度的保留(转移)——这个在原生是不考虑的,确实也太细了。
-
-
-

-

-
已知的问题和不足:
- 几乎所有的操作都可以撤回,用 W 佬方法实现的,但是说好了——撤回了之后不能再恢复重做。
- 在移动端转换、合并等动作后光标经常会丢失,但是可以通过分屏解决,这个问题想过很多思路,但是没完美解决。在手机的浏览器测试却是正常的,很奇怪。
- 转换合并过程中可能会导致块的原有 updatetime 或者引用那些丢失,这个已经尽量避免。
-
辅助的代码:
-
双击列表项或标题自动折叠.js
-
调整移动端的工具条.css——已集成,看视频
-
留给后面的彩蛋~
-
-
写在后面:
- 可能这是社区第一次有人在卖代码片段的?哈哈,
- 其实我也愿意分享,也内心感激几乎都是为爱发电的插件 up,细说起来代码都是在前人的分享基础上修修补补的功能,如果哪些对我帮助过的大佬感兴趣,或愿意帮忙看看哪里写的不好,我也乐意提供。
但不妨碍我想看看这些代码有没有几块钱的价值,看看这种需求是否小众,看看这些功能是否有意义? - 我是 JS 初学者,基本也是靠 AI 去实现这个功能的,考虑到估计后面 AI 方面的付费少不了,我需要真金白银的支持去支撑更多的构思的实现。
- 连几块钱都要?是的,对我来说,这是有价值的。
- 我相信换了别人这样的功能肯定也不难搓出来的,对于有需求的人,相比去花到买 token 的钱,或许这个更省?
-
-
思源笔记
28446 引用 • 119789 回帖
思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。
融合块、大纲和双向链接,重构你的思维。
-
代码片段
285 引用 • 1988 回帖
代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。
用户在该标签下分享代码片段时需在帖子标题前添加
[css]或[js]用于区分代码片段类型。
相关帖子
-
-
-
-
chuchen •作者
哈哈,谢谢,
那些大佬们 付出了挺多,那是他们应得的。
我 其实不是刻意在兜售,单纯是看一下 在社区里面 有几个人对这方面是有兴趣的。
因为我是 计划 多利用思源的列表 方面的功能,我后续还有 计划去 拓展一些用法,但看下来,真正对 大纲笔记方面的用法 感兴趣的人 并不多,也可能是目前的功能 还很简单。
-
仔细看了下,我觉得你的代码,在手机端的优势是挺大的!
但根据我长期水论坛的经验看,大部分人手机端只是当个备份或者查看用,主要是电脑去编辑
比如:你的代码双击折叠展开,在手机端很好用,电脑端相对优势并不大了;
像你的其他代码也是如此,感觉侧重点在手机端,电脑端的话,默认操作也可以完成同样的事情
看你想怎么整,如果以自用为主、分享为辅偶尔赚个小钱,侧重点还在于自己的需求;
若是以用户的体验为主,或许侧重点应该放在电脑端,策划下电脑端可能缺啥,可能受众面更广些。
tnnd,啰嗦的老毛病又犯了
1 回复具体点说呢,电脑端到底缺啥,我也不太清楚。我自己是用大纲标题的多,辅以列表,也算是用习惯了,暂时没感觉有什么明显的、让人感觉操作不舒服的地方。当然,如果后续有痛点,可能我会发个帖子再说说,暂时还木有。365 • -
chuchen •作者
哈哈 谢谢你体贴的啰嗦,其实我主要场景都在 pc 端的,手机目前用的主要是写些临时灵感,用的番茄工具箱那个记事,对我来说够用。
我目前分享出来的 js 代码不到 5 个?——过滤器(集成了文档树展开)、loadsnippets、双击折叠、还有凌晨发的代码块优化,其实 都是取之论坛 还以论坛的,并且都是先优化 pc 端(也不一定是优化,更多是符合自己需求),甚至很多功能都是坛友先提出了需求,我看还没完善就补充下的,最后顺便支持下移动端,所以我也不算不上侧重移动端,
更多是因为在学习在练手,我还多多少少改动了从论坛拿到的其他代码,好像也不见得欢迎所以没发出。
实际上我自认为是细节都打磨过的,起码是符合我自己口味的,
为什么提出这个默认大纲模式的需要收费呢?
首先我花了很多时间和头发,去打磨其中的细节以兼容思源的逻辑,图这几块钱?没任何性价比可言,
其次我也想知道有多少人有这个需求(可能从大纲笔记转到这里的人也不见得会关注这个论坛,或者都接受了思源的模式)——当然发个投票可能也能统计,但愿意付费这件事的意义是不一样的,所以我没直接放出来。
在我大多数笔记都用列表的场景下,我后续肯定还有新的需求出现,构思了一些,但最近发现还是需要多接触别的软件的体验,想象力还是有限,关键个人能力有限,捆绑愿景画饼也没必要。
从一开始我就不看好有人愿意为此付费,实际也是这样,若你问我现在有没有哪个痛点别人解决了对应怎样的一个付费方案,好像也没有概念……看到很多大佬都开源插件,全是为爱发电吧,
那我就自得其乐就好~




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