提议更改反链的展示逻辑

思源目前的反链展示逻辑,和 Roam Logseq 这些是不一样的。具体为:

  • 思源,会展示 当前块的反链 及其 所有子孙块的反链
  • Roam、Logseq,只会展示当前块的反链,而 不会 展示子孙块的反链

当使用静态锚文本时,思源目前这种反链逻辑,使用时可能会让人陷入迷惑。
下图是一段具体演示:

image.png

综上,所以在这种情况下,其实并不需要把子孙块的反链展示进来。

若想查看指定子孙块的反链,完全可通过现有功能 —— 块右侧 引用计数器聚焦 来查看。
如下图:

现有的子孙块反链.gif

❤️ 因此,我觉得可以在反链窗格中,添加一个切换功能,用作 切换反链的展示逻辑
例如通过 按钮切换、下拉框切换、或者是其他更优秀的切换方案。

您对该设计的建议是?

单选 公开 已于 2024-10-31 09:04:00 结束 72 票
建议和 Roam、Logseq 一致,不展示子孙块
29% 21 票
建议提供选项,以切换显示逻辑(展示子孙块或者不展示子孙块)
52% 38 票
建议保持现有逻辑不变
18% 13 票


前文: 关于反链展示逻辑的不解

  • 思源笔记

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

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

    22420 引用 • 89758 回帖 • 1 关注

相关帖子

优质回帖
  • 88250 2 2 赞同

    不要慌,加开关

  • Wetoria 3 4 赞同

    不要慌,加开关

    @88250 如果真要实现,还是开关控制之类的吧。

    实际上反链过滤这一块,我建议查看 enhance 插件的底部反链或者反链面板插件。


    如果一篇文档超过 1000 行以上,并且在内部子块拥有反链时,就知道 展示文档子块的反链 有多必要了。

    难不成一个位于第 500 行的块反链,也一行行扫过去,直到到第 500 行才知道有反链吗?

    如果觉得 1000 这个数量级太少了不够看,那试问换做一篇几百万字,上万行的小说文档呢?比如有用户用思源读《冰与火之歌》,难不成也需要每一行都扫过去,以期找到某一段拥有反链的段落,并且在这个过程中,每一个段落都需要悬浮或者聚焦,查看它的反链是不是自己要的吗

    显示子块是否必要,就这一个场景就足够了。如果理解不了,尝试导入一篇小说到思源,然后自己试着读读看。


    其次是投票,虽然目前“50% 认同”,但是投票的用户先是看到了这篇帖子的用户,然后是看到这篇帖子愿意投票的用户。

    比如我,在我编写这段内容前,我就没投票。即使 50% 选了不展示子块,看了我前面的话,还觉得这个投票占比是否能合理反映现状呢?

  • paris1943 3 赞同

    您好,目前总票数只有 31 票,而思源用户数至少几万人是有的。因为一个新用户发起的、仅有几十人参与的投票,修改一款有至少几万人的用户的软件长久以来的设定,我觉得是不合理也不合适的。如果当前逻辑不合理,那这几万人这三四年以来用的是什么呢?

    并且目前的反链逻辑没有任何问题,新用户提完意见用几天没新鲜感走人了,到下一家软件“提意见”,倒霉的是老用户。回到反链本身,块是属于页面的,块反链显示页面反链没有任何问题,用户可以在页面的任何一个块、一个段落掌控当前页面内所有的反链信息。如果改成楼主说的那样,反链面板才相当于是废了。

    很多投票的人甚至都弄不清楚二者的区别,只是想要“和 rr 一样”。

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • LLL-
    作者

    原先有这个想法,但是我怕多张图片在一块使得帖子太长,从而影响阅读,所以就没有贴进来,而是选择了在思源里尽力描述。

  • 其他回帖
  • 大伙都别激动,每个人的需求不同,求同存异才是解决之道。

    我看下来这个问题的主要矛盾在于:反链面板如果显示子孙块的反链,会难以区分对应的内容,但如果只显示文档块的反链,又缺少一个汇总子孙块反链的地方,只能在文档中一个一个找。

    个人认为,反链面板用于展示文档块关联的反链,逻辑是清晰的,因为正向这边是就是文档,不需要展示内容,我只用知道文档块反链的内容,因此我也支持在反链面板中仅展示文档块反链。

    但是否可以在反链面板中添加一个跳转按钮,用于跳转展示所有子孙块的正链和反链内容。和文档块不同,对于子孙块来说,单单展示反链内容是无法理清双链两个内容块的关系的,因此通过一个浮窗或新页面展示双链两边的内容才能解决反链面板混乱的问题。

    我觉得这方法或许可以满足各方的需求,只是要辛苦开发大大了。

  • YRJ0422 1 1 赞同

    可能有用户还不懂这个改动有多大,盲目选了改进。我来说一个更直观里的例子

    如果你在 A 页引用了 B 页,那么这个内容会显示在 B 页的反链链接中,但是 B 页下的 “我是 A 页的段落块”引用到 B 页,在改进以后就不会显示出来了。

    这对我挺灾难的,我的很多笔记都是长篇几千几万字,里面有很多的引用,我总不能看这页的时候挨个找吧,虽然有引用计数,改进以后跟 logseq 这样软件对齐了,但是 logseq 写作更偏向一种随意的记录,而思源以结构化为主和 Daliy Note 的结合写作,在写作上思源要比 logseq 字数要多的多并且思源没有 logseq 那么统一,标签跟双链是分割的,没有像 logseq 那样把标签当双链玩,而且思源处理长文居多,这样改进以后就造成了看那些长文档看不着引用的段落块,还得去找文档中的对应的块再聚焦到对应的块上或者是看引用计数才能找到对应的反链,这简直是不知道增加了多少步的操作。

    而如果保留现在的逻辑也会造成反直觉的感觉,具体表现在 logseq 中 双链和标签都是一种形式 , 把页当做自动化收集,这时候往里面塞几个段落块的引用就非常的迷惑了,甚至是污染了反向链接面板

    所以我个人还是建议两者形式都保留以一种方便快捷的开关来做切换,而不是放在设置 → 编辑器 → 开关 中,在实际使用中肯定会游离在结构笔记和 Daily Note 之间的,放在设置中来回切换的时候就会非常麻烦和繁琐。

    1 操作
    YRJ0422 在 2024-10-22 02:56:50 更新了该回帖
  • 88250 1 赞同

    @paris1943 @8V9q7V @White-Night-Dream 这个决定并不草率,这和具体是谁提的无关,我们对事不对人。总的来说,是因为 RR 和 Logseq 在这方面的设计久经考验,已经得到广泛用户验证,而思源笔记目前的用户群体并没有你们想象的几万人这么多,并且不全是双链用户。另外,实际上开发者社区 8 月份的时候就有人提过增加是否包含子块的改进,某种程度上说明去掉子块的需求是强烈的。

    另外,增加开关是无法取舍设计时做出的妥协,对于这个问题上看目前没有必要增加开关,但在技术层面会保留扩展能力,即反链相关接口都有一个 containChildren 参数,原生实现上默认是 false 不包含子块。

  • 查看全部回帖

推荐标签 标签

  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 384 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    66 引用 • 114 回帖 • 230 关注
  • Sillot

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

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

    主仓库地址:Hi-Windom/Sillot

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

    注意事项:

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

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 631 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 4 关注
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    6 引用 • 63 回帖 • 2 关注
  • jsDelivr

    jsDelivr 是一个开源的 CDN 服务,可为 npm 包、GitHub 仓库提供免费、快速并且可靠的全球 CDN 加速服务。

    5 引用 • 31 回帖 • 59 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 26 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 210 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3187 引用 • 8213 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • App

    App(应用程序,Application 的缩写)一般指手机软件。

    91 引用 • 384 回帖
  • 百度

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

    63 引用 • 785 回帖 • 176 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 911 回帖 • 246 关注
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 621 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖 • 1 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    133 引用 • 189 回帖
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • 创造

    你创造的作品可能会帮助到很多人,如果是开源项目的话就更赞了!

    179 引用 • 995 回帖 • 5 关注
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 477 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    36 引用 • 37 回帖 • 531 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 4 关注
  • MyBatis

    MyBatis 本是 Apache 软件基金会 的一个开源项目 iBatis,2010 年这个项目由 Apache 软件基金会迁移到了 google code,并且改名为 MyBatis ,2013 年 11 月再次迁移到了 GitHub。

    170 引用 • 414 回帖 • 385 关注
  • webpack

    webpack 是一个用于前端开发的模块加载器和打包工具,它能把各种资源,例如 JS、CSS(less/sass)、图片等都作为模块来使用和处理。

    41 引用 • 130 回帖 • 259 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖 • 1 关注
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 1 关注