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

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

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

把标签修改成双链形式

单选 公开 永不结束 16 票
同意修改
93% 15 票
不同意修改
6% 1 票

  • 思源笔记

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

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

    21671 引用 • 85900 回帖
  • Q&A

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

    7777 引用 • 35455 回帖 • 183 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 我感觉应该没法改

    1 回复
  • YRJ0422

    怎么说,感觉理论上是可以并存的,标签搜索的也是 ##标签## ,如果标签跟双链结合在一起的话,原始的搜索也不耽误,按快捷键 + 左键也能跳转到对应双链的页,可能确实有点太大杂烩了,只不过我感觉双链要比标签的优势要更大一点这样对现在的标签影响也不是特别的大

    1 回复
  • i1356

    logseq 写日记是真的爽。标签也很强。感觉思源的双链与标签差点意思。

  • 感觉如何兼容 Markdown 是个问题。

    1 回复
  • YRJ0422

    兼容 Markdown 应该没啥问题,毕竟标签的本质就是 ##标签##,默认的标签再仔细想想也没改太多,标签一样可以像往常一样显示,也能当做搜索,只是在这个基础上把标签变成了双链的一种样式,两者可以并存。兼容 Markdown 确实是个问题,但是都用上 json 了想必也不需要考虑太多兼容问题了。而且就算不兼容,只要输出的时候转换成 #标签,好像也没什么毛病。我看 Logseq DB 版就是这么处理的,直接旧版标签全换成双链。

    1 回复
  • zxhd86

    我觉得你期望的并不是输入#之后在一堆弹出来的标签里挑选的感觉,你需要的是#关键词#然后就不用再选的感觉。

    前者跟当前的双链我看不出区别,后者是不能实现的东西。

    1 回复
  • 若改成双链形式,会创建新文件。

    主要是改成双链的话就必然需要关联一个块 ID,但 #foo# 怎么关联 ID 是个问题。

    我想到的方案是分开关联。行内文本 #foo# 先关联到标签 foo ,标签 foo 再关联到某个块。

    所以就想到一个奇怪的方案:Issue #11025 · siyuan-note/siyuan ,但说实话我不太满意,还没想到更合适的方案。

    1 回复
  • YRJ0422

    前者的#和[[ ]]确实一样,只是样式和语法不同,但其使用场景完全不同。具体需求如 @JeffreyChen 在 Issue 中所说。至于后面提到的方案,Z 大说不能实现,那就只能另寻他法了。

    具体的使用场景如下

    Clip20241019001017.jpg

    而且这个 #生病 跟[[ ]] 还不太一样他是可以汇总到标签里的
    Clip20241019001124.jpg

    1 回复
    1 操作
    YRJ0422 在 2024-10-19 00:12:12 更新了该回帖
  • YRJ0422

    这确实是个问题,况且思源还支持重名,文档名不能当成唯一的,我也只能想到你这样的解决方案了

  • lzuwujx

    logseq 中可以通过#page-name 或[[page-name]],直接关联到页面,确实很方便。但这个在思源中是行不通的,logseq 中的页面名称是唯一的,而思源中的页面名称只是可读的锚文本、真正关联的是 ID。

    在思源中采用 logseq 的模式记也是可行的:1.严格按照 dailynote 方式记笔记(参照 logseq 的“journal”);2.创建日记之外的页面时,尽量采用[[命令,并在设置里面将新建的页面放到固定的位置(参照 logseq 的“pages”)。

    我觉得,思源比 logseq 更灵活,既兼容大纲模式又兼容传统文档、既有双链又有传统的标签、……因为功能更灵活,没有像 logseq 那样固化操作方式,所以在特定的使用模式下没有 logseq 方便也是可以理解的。

  • Floria233

    能做出来就真太好了。

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

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

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

    这个问题就是:

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

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

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

    翻译一下:

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

    1 回复
    1 操作
    Floria233 在 2024-10-19 00:27:10 更新了该回帖
  • lzuwujx

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

  • lzuwujx

    个人觉得,反链和提及放在侧边栏面板也有好处,有利于提升性能,不用打开文档时一开始就载入;而且避免了底部反链区的干扰(我知道有的 wolai 用户还特意设置了底部反链区默认折叠、需要时再打开)。

    2 回复
  • YRJ0422

    性能问题应该不大,思源如果开发原生的底部反链一定会有动态加载的性能方面加载这方面应该是没问题的,不过就算不开发底部栏问题也不大,侧边栏倒也是完全够用,等 D 大把闪卡、数据库视图、多人协作、这些路线图的内容搞个差不多的情况下,再慢慢完善这些内容 BUG 也会更少一点,不至于一个劲的修修补补。

  • Floria233

    这个也有一定道理。

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

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

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

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

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

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

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

  • YRJ0422

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

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

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

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

    1 回复
  • lzuwujx

    感觉这些可以用双链[[]]页面实现,就像 logseq 中标签#和双链[[]]几乎等同。只不过 logseq 中打标签时创建的页面被统一放在 pages 中管理,体验上比较无感。

    所以我想,如果思源要把标签#改造为双链形式的话,就把#标签页面做成系统自动管理的页面,从而与[[]]页面区分,并且#标签页面和[[]]页面可以互相转化。

    1 回复
  • YRJ0422

    差不多,把标签系统给改了体验上应该会好很多,我看 d 大是有这个想法的实现的细节上还是需要探讨的

  • zxhd86 1 赞同

    仔细想想,标签改成双链形式不重要,重要的其实是点击标签出来的那个界面是不是双链的界面才重要。核心问题其实是当前的相关标签面板太拉跨了……

    1 回复
  • YRJ0422

    差不多,就算不改成双链的形式也是可以的,重点就像 Z 大说的一样,现在的标签跟思源的各种块搭配太拉胯了。主要就是以下这两点

    1. 标签可以汇总到反链面板
    2. 点击标签能显示出来页面

    至于为什么想改成双链形式,是因为改成双链可以更加的统一,[[ ]] 和 # 打出来的内容可以指向一个内容,如果可以保留点击标签跳转到搜索再添加一个跳转到双链的界面的方式,这样也能兼容现在的使用方法,属于是对标签进行了升级,同时跳转到这个界面不编辑可以以不创建的形式查看反链就非常完美了

请输入回帖内容 ...

推荐标签 标签

  • ZeroNet

    ZeroNet 是一个基于比特币加密技术和 BT 网络技术的去中心化的、开放开源的网络和交流系统。

    1 引用 • 21 回帖 • 627 关注
  • IBM

    IBM(国际商业机器公司)或万国商业机器公司,简称 IBM(International Business Machines Corporation),总公司在纽约州阿蒙克市。1911 年托马斯·沃森创立于美国,是全球最大的信息技术和业务解决方案公司,拥有全球雇员 30 多万人,业务遍及 160 多个国家和地区。

    17 引用 • 53 回帖 • 129 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 10 关注
  • golang

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

    497 引用 • 1387 回帖 • 302 关注
  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    93 引用 • 113 回帖
  • uTools

    uTools 是一个极简、插件化、跨平台的现代桌面软件。通过自由选配丰富的插件,打造你得心应手的工具集合。

    6 引用 • 14 回帖 • 1 关注
  • SSL

    SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS 与 SSL 在传输层对网络连接进行加密。

    70 引用 • 193 回帖 • 439 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    77 引用 • 390 回帖
  • 知乎

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

    10 引用 • 66 回帖 • 2 关注
  • MongoDB

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

    90 引用 • 59 回帖 • 2 关注
  • Oracle

    Oracle(甲骨文)公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989 年正式进入中国市场。2013 年,甲骨文已超越 IBM,成为继 Microsoft 后全球第二大软件公司。

    105 引用 • 127 回帖 • 405 关注
  • Tomcat

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

    162 引用 • 529 回帖 • 2 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    12 引用 • 101 回帖
  • Elasticsearch

    Elasticsearch 是一个基于 Lucene 的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于 RESTful 接口。Elasticsearch 是用 Java 开发的,并作为 Apache 许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

    116 引用 • 99 回帖 • 229 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    29 引用 • 66 回帖
  • Markdown

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

    167 引用 • 1499 回帖 • 1 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • 倾城之链
    23 引用 • 66 回帖 • 137 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    52 引用 • 40 回帖
  • MyBatis

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

    170 引用 • 414 回帖 • 388 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖 • 1 关注
  • 酷鸟浏览器

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

    3 引用 • 59 回帖 • 27 关注
  • 自由行
    5 关注
  • BAE

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

    19 引用 • 75 回帖 • 624 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 5 关注
  • Swift

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

    36 引用 • 37 回帖 • 528 关注