[js] 默认大纲输入模式,一个代码片段值 6 块钱吗?附文档树、大纲目录、标签书签等过滤器更新,文档树一键展开,双击折叠标题和列表

  • 文档树、大纲目录、标签书签、反链等面板简单过滤器

    • 原贴地址:[js] 各种小界面的过滤器,更多功能等接力 - 链滴

    • 更新:

      • // 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',

    • 重构,新的增强:

      • 限于当前过滤的规则仅处理面板出现的内容,所以查找文档名需要先全部展开笔记本——特此增加一键展开所有笔记本的按钮,也可以右击指定的笔记本(移动端为长按)。
      • 一键按钮需要等待上次展开动作完成,可能出现页面字体重叠,需要手动刷新索引(选不限的情况则每次都自动刷新),可根据自己的笔记本情况调整每次展开的策略——策略同时绑定到每个文档树折叠按钮。
      • 展开过程中可通过点击笔记本,则折叠自动中断动作。
      • 1image.png
      • 2image.png
    • 分享地址:思源笔记代码片段/Chuchen_各种过滤器_优化版.js · chuchen0719/思源笔记-代码片段分享 - 码云 - 开源中国

    (屎山代码太长了~发不出来)

  • 默认大纲输入模式【¥6】??

    • 前情

      • 很多人提到思源笔记,会把它归类“文档型笔记”,以区分于“大纲型笔记”。
        当然思源用户也知道,横竖都兼容,就敲多个- 的事情。
      • 总有些别的笔记难民在纠结思源用大纲的会不会碍手,确实我也是从大纲类型笔记主力转移过来的,因为我更偏好于大纲笔记的记录方式,更容易激发“结构化思考”。
      • 在对思源用多了之后,发现还是有些操作空间的,特别是最近 2 个月发现代码片段就足以实现。
    • 路径

      • 首先,我能看到的差别在哪?

        1. 首先是要省掉手打前缀符的功夫,光标所在自动转换为列表就好了。
        2. 其次是要方便缩进缩出,这是大纲笔记的精神,而思源节点是嵌套结构。
        3. 列表块不同类型的兼容?有序列表,任务列表与无序列表在同一个列表块要注意什么?
        4. 列表与标题的真“大纲”之争?虽然两者在思源不冲突,但如何实现在用列表的时候能体现纲领。
        5. 如果都是列表块(容器块),以后可以支持更有趣的查询?
      • 那现在这个代码就是用些很简单粗暴的方式实现了前三点。至于流畅度,这个很主观,我只能说我能接受。

    • 现有的功能演示:

      1. 自动转换块,以面包屑按钮为准,默认是自动激活,但前提是需要先(点击)激活编辑区,按钮快捷键默认是 Alt+I(可修改),轮流切换可开关。

      2. 单个块按 tab 合并

        1. 如果前一个块是列表块,会合并为一个容器块。
        2. 如果前一个块是段落块,会把这个段落块转换为列表块再合并为一个容器块。
        3. 如果涉及有序列表和任务列表,会出现额外的处理。
      3. 多选按 tab

        1. 除特定的块(比如分隔线、嵌入块)外, 段落块(含图片块)、列表块、标题块、超级块、引述块、代码块、公式块、表格块等都可以一起合并到同一个列表块。
      4. 切换类型

        1. 默认快捷键是 Alt+K,轮流切换整个列表块的类型,如果不需要那么统一,建议在下一个节点转换好再合并。
        2. 移动端是长按列表项时候出现的菜单,对了前面功能(除了多选 tab)在移动端都是支持的。
        3. 在超级块里面的列表块做了特别的支持。
      5. shift+tab

        1. 如果已转换的块不想用列表想用默认的怎么办?

          1. 如果是刚转换完的用 ctrl+z,如果不是之前转换的用 shift+tab。
        2. 转换为段落块时对原容器块的属性进行了一定程度的保留(转移)——这个在原生是不考虑的,确实也太细了。

    • PixPin20250823165424.webp

    • PixPin20250823222132.webp

    • 已知的问题和不足:

      1. 几乎所有的操作都可以撤回,用 W 佬方法实现的,但是说好了——撤回了之后不能再恢复重做。
      2. 在移动端转换、合并等动作后光标经常会丢失,但是可以通过分屏解决,这个问题想过很多思路,但是没完美解决。在手机的浏览器测试却是正常的,很奇怪。
      3. 转换合并过程中可能会导致块的原有 updatetime 或者引用那些丢失,这个已经尽量避免。
    • 辅助的代码:

      1. 双击列表项或标题自动折叠.js

        1. 分享地址:思源笔记代码片段/Chuchen_双击折叠标题或列表.js · chuchen0719/思源笔记-代码片段分享 - 码云 - 开源中国
        2. 支持移动端
      2. 调整移动端的工具条.css——已集成,看视频

      3. 留给后面的彩蛋~

    • 写在后面:

      • 可能这是社区第一次有人在卖代码片段的?哈哈,
      • 其实我也愿意分享,也内心感激几乎都是为爱发电的插件 up,细说起来代码都是在前人的分享基础上修修补补的功能,如果哪些对我帮助过的大佬感兴趣,或愿意帮忙看看哪里写的不好,我也乐意提供。
        但不妨碍我想看看这些代码有没有几块钱的价值,看看这种需求是否小众,看看这些功能是否有意义?
      • 我是 JS 初学者,基本也是靠 AI 去实现这个功能的,考虑到估计后面 AI 方面的付费少不了,我需要真金白银的支持去支撑更多的构思的实现。
      • 连几块钱都要?是的,对我来说,这是有价值的。
      • 我相信换了别人这样的功能肯定也不难搓出来的,对于有需求的人,相比去花到买 token 的钱,或许这个更省?

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    28446 引用 • 119783 回帖
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    285 引用 • 1986 回帖
3 操作
chuchen 在 2025-08-28 06:30:24 更新了该帖
chuchen 在 2025-08-28 06:22:47 更新了该帖
chuchen 在 2025-08-28 06:21:37 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • ZQ11

    可以做成插件付费 你这样太原始了 😂

    1 回复
  • 其他回帖
  • chuchen
    作者

    哈哈,谢谢,

    那些大佬们 付出了挺多,那是他们应得的。

    我 其实不是刻意在兜售,单纯是看一下 在社区里面 有几个人对这方面是有兴趣的。

    因为我是 计划 多利用思源的列表 方面的功能,我后续还有 计划去 拓展一些用法,但看下来,真正对 大纲笔记方面的用法 感兴趣的人 并不多,也可能是目前的功能 还很简单。

  • chuchen
    作者

    哈哈 谢谢你体贴的啰嗦,其实我主要场景都在 pc 端的,手机目前用的主要是写些临时灵感,用的番茄工具箱那个记事,对我来说够用。

    我目前分享出来的 js 代码不到 5 个?——过滤器(集成了文档树展开)、loadsnippets、双击折叠、还有凌晨发的代码块优化,其实 都是取之论坛 还以论坛的,并且都是先优化 pc 端(也不一定是优化,更多是符合自己需求),甚至很多功能都是坛友先提出了需求,我看还没完善就补充下的,最后顺便支持下移动端,所以我也不算不上侧重移动端,

    更多是因为在学习在练手,我还多多少少改动了从论坛拿到的其他代码,好像也不见得欢迎所以没发出。

    实际上我自认为是细节都打磨过的,起码是符合我自己口味的,

    为什么提出这个默认大纲模式的需要收费呢?

    首先我花了很多时间和头发,去打磨其中的细节以兼容思源的逻辑,图这几块钱?没任何性价比可言,

    其次我也想知道有多少人有这个需求(可能从大纲笔记转到这里的人也不见得会关注这个论坛,或者都接受了思源的模式)——当然发个投票可能也能统计,但愿意付费这件事的意义是不一样的,所以我没直接放出来。

    在我大多数笔记都用列表的场景下,我后续肯定还有新的需求出现,构思了一些,但最近发现还是需要多接触别的软件的体验,想象力还是有限,关键个人能力有限,捆绑愿景画饼也没必要。

    从一开始我就不看好有人愿意为此付费,实际也是这样,若你问我现在有没有哪个痛点别人解决了对应怎样的一个付费方案,好像也没有概念……看到很多大佬都开源插件,全是为爱发电吧,

    那我就自得其乐就好~

  • chuchen
    作者

    哈哈哈,真的有人感兴趣吗~(惊

    我当然希望是有偿的呢,不过确实我也看出来了,价值很有限……

  • 查看全部回帖

推荐标签 标签

  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    127 引用 • 169 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    215 引用 • 358 回帖
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    524 引用 • 4602 回帖 • 731 关注
  • 电影

    这是一个不能说的秘密。

    125 引用 • 610 回帖
  • MySQL

    MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是最流行的关系型数据库管理系统之一。

    695 引用 • 538 回帖 • 1 关注
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 2 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 693 关注
  • WiFiDog

    WiFiDog 是一套开源的无线热点认证管理工具,主要功能包括:位置相关的内容递送;用户认证和授权;集中式网络监控。

    1 引用 • 7 回帖 • 633 关注
  • Sillot

    Insights(注意当前设置 master 为默认分支)

    汐洛彖夲肜矩阵(Sillot T☳Converbenk Matrix),致力于服务智慧新彖乄,具有彖乄驱动、极致优雅、开发者友好的特点。其中汐洛绞架(Sillot-Gibbet)基于自思源笔记(siyuan-note),前身是思源笔记汐洛版(更早是思源笔记汐洛分支),是智慧新录乄终端(多端融合,移动端优先)。

    主仓库地址:Hi-Windom/Sillot

    文档地址:sillot.db.sc.cn

    注意事项:

    1. ⚠️ 汐洛仍在早期开发阶段,尚不稳定
    2. ⚠️ 汐洛并非面向普通用户设计,使用前请了解风险
    3. ⚠️ 汐洛绞架基于思源笔记,开发者尽最大努力与思源笔记保持兼容,但无法实现 100% 兼容
    29 引用 • 25 回帖 • 152 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 443 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 702 关注
  • 千千插件

    千千块(自定义块 css 和 js)
    可以用 ai 提示词来无限创作思源笔记

    32 引用 • 69 回帖
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 646 关注
  • 博客

    记录并分享人生的经历。

    274 引用 • 2393 回帖 • 1 关注
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    167 引用 • 408 回帖 • 494 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 436 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    99 引用 • 367 回帖 • 1 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    20 引用 • 37 回帖 • 577 关注
  • 百度

    百度(Nasdaq:BIDU)是全球最大的中文搜索引擎、最大的中文网站。2000 年 1 月由李彦宏创立于北京中关村,致力于向人们提供“简单,可依赖”的信息获取方式。“百度”二字源于中国宋朝词人辛弃疾的《青玉案·元夕》词句“众里寻他千百度”,象征着百度对中文信息检索技术的执著追求。

    63 引用 • 785 回帖 • 46 关注
  • 尊园地产

    昆明尊园房地产经纪有限公司,即:Kunming Zunyuan Property Agency Company Limited(简称“尊园地产”)于 2007 年 6 月开始筹备,2007 年 8 月 18 日正式成立,注册资本 200 万元,公司性质为股份经纪有限公司,主营业务为:代租、代售、代办产权过户、办理银行按揭、担保、抵押、评估等。

    1 引用 • 22 回帖 • 838 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 3 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    950 引用 • 1460 回帖 • 2 关注
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    4 引用 • 7 回帖
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    35 引用 • 468 回帖 • 768 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    40 引用 • 157 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖 • 3 关注