关于反链展示逻辑的不解

image.png

如图示例,我在引用页,分别引用了「资源页」,以及「资源页」内的段落。


对此我感到疑惑的是

  • 为什么这个段落的引用关系,也被展示进了「资源页」的反链列表?

之所以感到疑惑,是因为同类的块级笔记软件,页面的反链列表只会显示对该页面的引用关系,而不会像思源这样,将页面内具体段落的引用关系,也显示进去。

我觉得这可能会引出一个问题:

  • 反链关系可读性降低

具体来说,就像示例图中 的 「foo *」,其中的 * 只是一个静态锚文本。所以我其实没办法直接通过观察,得知这个 * 对应的是哪一个段落。而当页面内容变多,然后内部又有多个段落被其他页面以「静态锚文本」的方式引用,这个时候反链关系的可读性,感觉会受到不小的冲击。

所以,我其实不太能理解为什么这么设计,以及有什么应用场景。

  • 思源笔记

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

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

    22353 引用 • 89451 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8119 引用 • 37028 回帖 • 160 关注

相关帖子

欢迎来到这里!

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

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

    那可能是因为 rr 在同时引用父块和子块的情况下会把子块去重不计入反链,我们是否要这样做还需要讨论,目前不会轻易改动这些逻辑了,谢谢。

    1 回复
  • 其他回帖
  • LLL-
    作者

    抱歉 d 大,可能我表述的不是很准确。我完善一下:

    我提到的页面级别,并不是说只显示“被哪个文档引用”,而是 只显示引用这个“文档”的那个块

    以 2 楼的朋友提到的 roam 和 logseq 为例,相同的示例,这两个软件就不会显示 3 条记录,而是只会显示第一条,因为只有第一条记录是对 “资源页”这篇文档的引用。第二条第三条,并不是引用的“资源页”,而是引用的资源页里具体的段落。

    1 回复
  • YRJ0422

    经过今天的探讨,发现思源如果完全按照[[ ]] 是可以代替 Logseq 去写 Daily Note 的,文档标签可以在第一行用 tags:: [[ ]] 来代替文档标签是一种可行的方案。

    使用原始的标签也未必就不好,同样可以汇总到搜索界面,而且可以显示图标,在搜索界面也会显示出标签,只不过跟双链相比,不足之处是标签系统中的每一个标签都是唯一性的,而双链可以设置别名,把不同的关键词聚合在一个里面。而思源的标签可以轻松的用 SQL 汇总,也算是一个优点。

    关于标签改进成双链以后的优势,标签绑定文档后标签唯一性的问题就不存在了,多个标签可以绑定在一个页面下,而打出来的每一个标签都可以汇总在对应绑定的标签文档的反链中,在搜索的时候标签还是搜索特定标签保证唯一性(这点如果改成把同类标签都显示可能有些人不适应),这样就统一了双链和标签以及块之间的割裂感的问题,让标签有更大的使用价值

    其实从 Logseq DB 版把标签改成数据库的方式的角度来说,可能保证[[ ]] 的唯一性才是正确的思路,而不是 #和[[ ]] 是一种东西,但我觉得在思源的体系中标签改进成双链标签要更加的优雅和易用

    在别名方面,思源中每一个块都有命名和别名系统,一定程度上代替了 Logseq 中 alias 的功能,主要的缺陷是思源基于 ID 进行的双链,不能做到双链[[生病]] 和[[生病记录]] 到同一个页面,但是别名可以在块引用的时候显示和检索出来这也算是变相的解决了这个问题。

    另一方面思源本身有反链面板和引用计数,做的足够完善,相比 logseq 上手难度确实是高了不少,不过带来的体验就是可以管理文档同时写 Daily Note

    @88250 这是我对改成双链形式的一些想法和总结,还是希望可以实现的

  • LLL-
    作者

    认同 这确实是一种需求。

    我有一个想法。除了开关以外,或许可以通过某种方式,分割开本体反链和子块反链。例如用一个可折叠的 label(如 label 叫“子块反链”),label 下面是子块反链。然后默认是折叠的。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • 笔记

    好记性不如烂笔头。

    308 引用 • 793 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1705 回帖
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 22 关注
  • webpack

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

    41 引用 • 130 回帖 • 260 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 654 关注
  • 酷鸟浏览器

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

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

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    20 引用 • 7 回帖 • 1 关注
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 168 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 1 关注
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 681 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    86 引用 • 122 回帖 • 625 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    325 引用 • 1395 回帖
  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    342 引用 • 708 回帖
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2031 回帖 • 1 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 764 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    286 引用 • 729 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    32 引用 • 131 回帖 • 1 关注
  • GraphQL

    GraphQL 是一个用于 API 的查询语言,是一个使用基于类型系统来执行查询的服务端运行时(类型系统由你的数据定义)。GraphQL 并没有和任何特定数据库或者存储引擎绑定,而是依靠你现有的代码和数据支撑。

    4 引用 • 3 回帖 • 9 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 61 关注
  • NGINX

    NGINX 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 NGINX 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,第一个公开版本 0.1.0 发布于 2004 年 10 月 4 日。

    311 引用 • 546 回帖
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    71 引用 • 535 回帖 • 787 关注
  • 心情

    心是产生任何想法的源泉,心本体会陷入到对自己本体不能理解的状态中,因为心能产生任何想法,不能分出对错,不能分出自己。

    59 引用 • 369 回帖
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖
  • C++

    C++ 是在 C 语言的基础上开发的一种通用编程语言,应用广泛。C++ 支持多种编程范式,面向对象编程、泛型编程和过程化编程。

    107 引用 • 153 回帖
  • Markdown

    Markdown 是一种轻量级标记语言,用户可使用纯文本编辑器来排版文档,最终通过 Markdown 引擎将文档转换为所需格式(比如 HTML、PDF 等)。

    167 引用 • 1513 回帖 • 1 关注