统计探讨:标签修改成双链形式的可行性探讨

最近用了一段时间的 Logseq,发现两种双链的样式会更加的高效和好用,Logseq 把 # 和 [[ ]] 都统一为双链的形式在写作和 Daily Note 流程中相比思源更容易

思源笔记中的标签更像 Obsidian 的标记。若改成双链形式,会创建新文件。考虑到目前点击标签会进入搜索界面,要同时兼容这两种形式,添加一个 Ctrl+ 左键创建的方式,而单击仍为搜索界面,是我目前的想到的方案,欢迎各位大佬探讨

把标签修改成双链形式

单选 公开 永不结束 30 票
同意修改
80% 24 票
不同意修改
20% 6 票

  • 思源笔记

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

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

    22337 引用 • 89380 回帖
  • Q&A

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

    8112 引用 • 37001 回帖 • 160 关注

相关帖子

优质回帖
  • lzuwujx 2 赞同

    赞同。我也是这样用的,思源的标签我只是用来临时做记号,而需要反链、与其他笔记串联的都用双链[[]]。

    所以,标签可以用得很随意,比如一篇文章需要提醒自己再读一遍,我可能打上标签比如"#读第 3 遍”。这样的标签独立于知识空间之外,可以即用即弃,很方便。

  • Floria233 1 赞同

    能做出来就真太好了。

    现在思源的标签,类似于一种集合索引,而思源本身索引太强,一般感觉用不上标签。

    如果能够将标签改成双链,这用法就有点类似于 obsidian 的“空链”,区别于思源现在的“实体链”,可以利用双链式标签,在全库这个最高维度索引,就算关闭掉某些笔记本也不必担心无法被索引到了。

    不过相较于“功能”的实现,我个人更在乎的的是,现在思源自带的原生反链面板, 并不像 logeseq 放置在编辑器下方,而是放置在侧边栏

    这个问题就是:

    1. 点击文档,必然引起侧边反链面板的频繁切换,这个动静太大了,而且人的眼球也会被迫由上下运动变成左右运动,有点干扰注意力(所以我不是集中查看,一般都不开反链面板)
    2. 从直观性而言,放左边感觉也不如放下面直观。
    3. 更不必说,并不是每个文档都带反链,这时候要么始终长期开着反链面板占位置(因为反链面板的内容很详细啊,要开就必须是一整个侧边,我个人感觉没法和其他的并列),要么频繁用快捷键开启反链面板(麻烦)

    如果是用插件大佬开发的反链,不知为何,总觉得界面设计都相当繁琐(不咋好看)

    so,这个面板如果没有改动,再加上现在索引面板不能高度支持(友好度适配)的话,将标签改为双链这个行为,意义感大于实质作用。

    翻译一下:

    这个反链面板放在左边,就是一言难尽啊,仅有个开发的功能性,没有特别的实用性(其实总体来说,这个已经更新过好几次了,最开始更是摆设)。这玩意儿好像只是为了表明自己有这么个功能而被开发出来,这玩意儿作为“双链”的两大根基之一,现在完全是被浮窗给碾压。(当然浮窗好用这个必须夸)

  • lzuwujx 1 赞同

    我用过很长一段时间的 logseq。我现在用思源也在借鉴 logseq 的模式,主要用[[]]双链进行关联,很少用思源的标签#,只把标签#当作临时的标记使用(比如#TODO、#待清理等)。

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Floria233 1 赞同

    这个也有一定道理。

    实际上因为浮窗好用,所以我对反链需求真没那么大。

    不过现在因为提到了“将标签改双链”的可能性,故而嘴了一句反链面板(说不定就是因为浮窗好用,所以 D 大对反链面板的投入也就这样了——乱猜)

    至于反链面板放左边还是下边。

    如果是现在这种详细展开版的反链,当然还是左边好,毕竟信息太多,和编辑器的内容混在一起,确实繁琐。

    如果是类似 logeseq 或者 obsidian 那种简略式只展示标题的反链面板,我个人感觉放下方可能更实用点。

    至于性能,我的想法是,这玩意儿只要打开就会影响性能吧,不管是在什么位置。(哈哈)

    总的来说,说了这么多,我本人目前实则还是更关注“标签改双链”这个设计,只是无法想象这个设计最后要以什么样的界面呈现在思源中——难道还是像现在的标签面板那样吗?那这个要怎么和文档对应呢?自然而然就会扯到反链面板了,so……

  • 其他回帖
  • Floria233 1 赞同

    这个功能更新后,标签既可以保持标签本身特性,也会纳入双链系统,这两者并不冲突。

    标签,将是一种补足协同双链的设计,也是一种单独抽离集合索引的设计。

    你想要的并不会剥离,而是有所升级。

    如果只是否定标签的话,大家现在就不会着急着忙讨论这个标签面板该怎么搞了(就是为了保留原本标签的特性啊)

    升级后,你可以把标签继续当标签用,对于那些更注重双链的,人家也可以把标签当一种特殊双链使用。现在大家讨论的重点是:

    一,现在思源的标签体系设计,可否像 logseq 那样与双链集成统一,方便管理和“链接”的高维用法

    二,标签体系的重构,必然牵涉到反链面板,你现在在论坛也可以看到另一个帖子,正在讨论“反链面板是否要对标 logseq”(参考,反链面板的逻辑,这篇)

    三,如果上述两者要重构,要怎么搞,能不能搞定?之类的。

    实际上,从目前大家的多数反馈来看

    一,思源目前的标签体系真不咋地,对标传统笔记挺无敌,可应用于双链笔记,多少有些大小问题

    二,思源的反链面板也不咋地,由标签体系设计的一般般来参考对比

    三,标签实际是需要的,而且是有必要的,你没啥可担心多虑的

  • YRJ0422

    @zxhd86 z 大 理解错了,需要的是 双链跟标签具有一致性,不是增强标签面板,使用下来的体验还是很割裂的。具体需求是无论是打 [[思源笔记]] 还是打 #思源笔记# 都可以汇总到反链面板中。

    • 两者应该统一成双链形式,但打了 #思源笔记# 的标签跟 [[思源笔记]] 不同还可以汇总到标签面板,跟双链做了隔离。形成了一套目前这样的标签面板。
    • 第二个需求: 多个标签应该可以绑定一个双链,无论点击那个都应该跳转到对应的双链中。这衍生而来的需求就是,搜索标签时无论是搜索 #思源# #SiYuan# 还是 #思源笔记# 这几个内容都应该显示出来,这里就有三个问题
      • 老用户需求: 只想过滤一个标签咋办
      • 双链用户需求: 想在搜索和反链中显示所有的反链和相同标签该咋办
      • 对标签和双链分开的需求: 显示所有绑定到一个文档的标签,显示所有相同意思标签
      • 补充:这三个需求很小众重点还是 多个标签应该可以绑定一个双链
    • 第三个需求:双链可以保持为空链接,以及点击空链接不编辑内容可以不生成文档,这样有效避免了文档新建多个的问题
      • 这个需求我觉得很难实现,一是文档基于 ID 可以有多个相同文件,而不是类似 Logseq 所有双链和标签都是唯一性的,通过 alias 属性和 tags 属性来把多种标签聚合到唯一页面,做到全面的统一。
    1 回复
  • YRJ0422 1 赞同

    总得来说,应该是增强标签功能,原有标签的功能不会发生什么大变化,仔细看了看 Issue #11025 总结了以下几点

    1. 标签支持搜索
    2. 标签树用双链标签代替重构
    3. 带有标签的内容显示在反链面板
    4. 标签支持绑定文档(标签文档默认应该是一个特殊的文档,同时它也可以手动绑定到别的页面)
    5. 空链跳转(不创建实体文件,仅编辑时创建)
    6. 在父标签文档下显示子标签目录

    还有个很重要的 alias 别名属性非常重要,有时候很多的标签其实都是一个内容的不同说法,例如:生病,生病记录,病症记录,生病的记录,这些关键词和标签的引用应该都聚合在一个双链标签里面,无论我打#生病 还是 #生病记录 指向的都应该是 #生病 这个主页面,这个特性也非常重要。

    其实这么看我觉得标题应该改成:重构标签系统

    1 回复
  • 查看全部回帖

推荐标签 标签

  • jsDelivr

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

    5 引用 • 31 回帖 • 58 关注
  • QQ

    1999 年 2 月腾讯正式推出“腾讯 QQ”,在线用户由 1999 年的 2 人(马化腾和张志东)到现在已经发展到上亿用户了,在线人数超过一亿,是目前使用最广泛的聊天软件之一。

    45 引用 • 557 回帖 • 67 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 134 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • Jenkins

    Jenkins 是一套开源的持续集成工具。它提供了非常丰富的插件,让构建、部署、自动化集成项目变得简单易用。

    53 引用 • 37 回帖
  • 单点登录

    单点登录(Single Sign On)是目前比较流行的企业业务整合的解决方案之一。SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。

    9 引用 • 25 回帖
  • Firefox

    Mozilla Firefox 中文俗称“火狐”(正式缩写为 Fx 或 fx,非正式缩写为 FF),是一个开源的网页浏览器,使用 Gecko 排版引擎,支持多种操作系统,如 Windows、OSX 及 Linux 等。

    8 引用 • 30 回帖 • 407 关注
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 94 关注
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 51 关注
  • C++

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

    107 引用 • 153 回帖
  • 创造

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

    179 引用 • 995 回帖
  • OkHttp

    OkHttp 是一款 HTTP & HTTP/2 客户端库,专为 Android 和 Java 应用打造。

    16 引用 • 6 回帖 • 62 关注
  • OnlyOffice
    4 引用 • 3 关注
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 16 关注
  • Ubuntu

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

    125 引用 • 169 回帖 • 1 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 31 关注
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖 • 1 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 1 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 490 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    497 引用 • 1387 回帖 • 283 关注
  • GitLab

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

    46 引用 • 72 回帖
  • JRebel

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

    26 引用 • 78 回帖 • 664 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 362 关注
  • Postman

    Postman 是一款简单好用的 HTTP API 调试工具。

    4 引用 • 3 回帖 • 3 关注
  • FreeMarker

    FreeMarker 是一款好用且功能强大的 Java 模版引擎。

    23 引用 • 20 回帖 • 463 关注