【共同探讨】移动块 / 反链 / 快速无压记录 / 标签

本贴最后更新于 964 天前,其中的信息可能已经天翻地覆

1、【bug】把一个被引用的块拖动到另一个文件里,虽然引用关系还在,但是反链里手动刷新看不到结果,需要重启

2、用剪切粘贴的方式来跨文件移动块是最方便的,但是引用关系会丢失,分屏拖动的方式有点不方便,而且这种拖动对多个块的情形不太友好,需要一个个拖动

3、「把内容从反链区移到正文」是 Conor 式的双链笔记流程中非常重要的一步,虽然思源可以靠浮窗编辑反链的内容,但是因为 2 的原因让这一步不是很方便

roam research 作者 Conor 预设的双链使用流程大概是这样,这是 daily notes 中的记录:

image.png

logseq/资料 这个页面中,可以直接从反链里把这一坨内容全部拖到正文里慢慢组织:

image.png

思源的列表块在侧栏反链里只展示段落块,配合不了这个工作流。靠 SQL 呈现的反链对于列表块也会有类型重复。所以标题块比列表块适合这个场景,但是如果想把反链的标题块移到正文里,会遇到两个问题,首先是 2 里提到的批量剪切会导致引用关系丢失,其次是对标题块做的一些单独处理在浮窗里好像失效了,在我这里不能把浮窗里的标题块转换成文档,可能是 bug。

因为上面这些原因,思源不能完全复刻大纲双链笔记那种流畅无压的 daily notes 记录流程,如果要改进,也要配合软件架构,所以我也不好说具体可以怎么改进

4、因为反链的可操作性跟大纲型的软件存在较大差距,想要快速无压记录的话就会想到在 daily notes 里用井号标签。

改进标签的用户声音一直都有,现在也有了 #2431 文档块支持标签的计划,但是我感觉光把标签看做标签是没法彻底改进标签的。标签的问题和反链的问题其实是同一个问题,即加了标签的内容的展示形式不好,而且标签面板和反链面板一样缺乏可操作性。前面举的反链不方便的例子全都可以直接照搬到标签上,比如加了标签的列表块在标签面板里完全无法展示下级,加了标签的标题块在标签面板里用浮窗移动块有问题。

这些问题会让将来的标签变成一个只能用来标记文档块的东西,就像印象笔记那样,这其实也没什么毛病,但是如果反链和标签的呈现形式和可操作性得不到优化,想在思源内部做到快速无压记录就需要使用者本人有足够的方法论支撑,这样一来普通用户的体验很难比得上能直接使用 daily notes 无压力畅快输入的大纲双链笔记。Conor 式的 daily notes 流程虽然未必适合所有人、也遭受过一些舆论上的妖魔化,但是它实际用起来确实是很舒服很上瘾的,而且这种工作流目前来看其实是最适合小白专注记录的。

根据思源目前的形态,主要的使用方式可能是这两种:小白用户只用到文件树 + 编辑器,高阶用户自己设计一套工作流,这两种方式其实都有很高的心智门槛,文件树带来的心智压力并不小,也就是说即使是小白用法一样不够轻松。无压记录的工作流真的需要功能上的支撑,围绕 daily notes 流程的功能(反链和标签的呈现方式和可操作性)如果不加以优化,可能小白用户的使用体验还追不上 bear,想追上大纲双链笔记就更难了。

当然快速无压记录也只是笔记应用的一个方面,别的方面还是可以差异化竞争的。但就算不考虑 daily notes 流程,这些功能其实也该优化一下,daily notes 流程只是提供一个思考的切入点。

没什么具体建议,仅探讨。

  • 思源笔记

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

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

    18579 引用 • 69096 回帖
3 操作
deerain 在 2021-08-28 00:15:45 更新了该帖
deerain 在 2021-08-11 17:30:23 更新了该帖
deerain 在 2021-08-11 17:21:30 更新了该帖

相关帖子

优质回帖
  • 好问题。尽管不易察觉,但这两种方式有极其巨大的区别。

    假设今天我逛了一下 logseq 论坛,看到有人说新版本通过修改 :ui/show-empty-bullets? 变量可以显示或隐藏内容为空的 bullets,于是我想把这个配置方法在笔记软件里记录下来。

    然后我打开 logseq 做记录,步骤如下:

    1. 打开或转到 logseq 这个软件,如果当前页面不是 daily notes 就再按一下快捷键跳转到 daily notes 页面

    2. 在 daily notes 的第一行写下:

      - [[logseq/配置]]
        - `:ui/show-empty-bullets?` 变量:显示或隐藏内容为空的 bullets
      
    3. 记录结束。去做别的事。

    如果使用 typora,步骤如下:

    1. 为了最快捷地打开 logseq - 配置.md 这个文件,当然是要好好利用各种搜索型效率软件了,于是我在 utools 里搜索 logseq 配置,结果发现我并没有这个文件

      • 这个时候第 1 个差别就已经体现出来了,在 logseq 里,我永远不用回忆 logseq/配置 这个页面是不是已经存在,直接在 daily notes 的第一行开写就行了

    2. 搜索未果,我开始考虑换个关键词搜索,万一我以前创建的文件名叫 logseq - config.md 呢?换了几个关键词搜索,发现我以前真的没做过这方面的记录

      • 第 2 个差别出现了,在 logseq 里,我不需要考虑自己之前是不是已经用别的名字创建过 logseq/config ,这种文件,我只需要直接在第一行写下 - [[logseq/配置]] 就行了,别的什么都不用考虑

      • 第 3 个差别:就算我以前已经有了 logseq/config 这个 page,那也不需要管它,因为 logseq/配置logseq/config 这两个页面一定会在 logseq 这个父页面下共同展示,我可以在将来合并它们

    3. 既然以前没有对应的 md 文件,那我就创建它吧。创建一个新的 md 文件虽然人人都会,但是我在创建的时候就需要给它在文件系统上安排一个具体的位置,我是把它放在 软件使用 文件夹下还是放在 知识管理 文件夹下?

      • 第 4 个差别:在 logseq 里没有烦人的新建文件流程,就算我根本不对 md 文件分类,新建文件这个步骤还是烦人

    4. 终于新建好了 logseq - 配置.md 这个文件,但是我忘了刚才想记录的是什么

      • 第 5 个差别:用 logseq 记录,到达路径很短,心智负担为零;用 typora 记录,到达路径很长,心智负担巨大

    5. 查看系统剪贴板,回想起了要记录的东西,开始记录

    6. 记录完毕,我开始了每日固定的读文献时间。30 分钟之后,我有一条突发的阅读心得想快速记录下来,于是我唤出了 utools,再次重走上面的曲折心路历程。

      • 第 6 个差别:如果是用 logseq 记录,我只需要再次在 daily notes 页面的第一行写下:

        - [[文献/文献名]]
          - 这个思路真是妙啊
        - [[logseq/配置]]
          - `:ui/show-empty-bullets?` 变量:显示或隐藏内容为空的 bullets
        

    所以,这两种方式看似差不多,实际上是天壤之别。笔记的核心首先是记录,而 Conor 流程把使用者在记录时的心智负担降到了接近于 0 的水平,这种流畅无压的记录方式能极大促进一个人记录更多的东西。

    我这里说的还仅仅是记录阶段,后面的阶段差距更大。

  • deerain 1 1 赞同

    按照大纲双链笔记的流程,一开始在日记文件里写下「判断标准」这部分内容的时候,就应该当场立即用某种方式把它传递给「SOP」这个文档,这个传递方式就是双链:

    # 2021-07-03.sy
    
    - [[SOP]]
      - 几个好课题的判断标准
        - balabala
        - kalakala
        - xxxxx
    

    将来集中整理 SOP 这个文档的时候,从反链里可以直接把 - [[SOP]] 和它下方的所有列表项拖进正文然后慢慢整理,这种流程比一开始不加双链事后再去 SOP 这个文档里引用要稳妥得多。

    在思源里实践不了这个流程是因为打开 SOP 这个文档的时候,看到的反链只有以下信息:

    ▼ 2021-07-03.sy
      ¶ SOP
    

    这个反链只显示了一个段落块,- [[SOP]] 下级的内容全都没有直接展示。如果反链面板优化一下展示方式和可操作性,就可以实践上面说到的流程了。所以问题依然是功能需要优化。

  • deerain 1 1 赞同

    我们讨论的是"究竟选择那种方式会比较好?" 是完全无压力但后续整理麻烦的 Dailynote 还是选择稍微有点压力但是后续整理会轻松点的方法? 我也不知道, 这个心智压力若是实在想完全没有, 那就选择 DN, 若是想方便之后整理还是接受点心智压力就选其他方法, 感觉这个比较随人, 但我已经习惯了开 portal 了

    这段总结得很到位,在认清两种方式的差异之后,剩下的就是个人选择。不过这个选择大多数人不需要纠结,因为不用 remnote 这个软件就实践不了 remnote 的方法,我真正担心的是这两种方式都离思源比较远。

    但 DN 中已有很多内容的时候, conor 也会使用 zoom in 来消除其他文本的干扰的对吧?(这里我不咋清楚, 所以打了个问号)

    这个不需要,新的想法永远写在第一行就好了。

欢迎来到这里!

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

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

    大佬您在 Issue #2762 · siyuan-note/siyuan 中对于传递型双链和关联型双链的一些描述好像有点不太准确。您觉得两者的区别在于有无上级节点,但我觉得两者本质区别在于该节点除了双链锚文本之外有没有其他非双链的内容,如果是单独的双链锚文本即 - [[bar]],就是传递型双链,如果有其他内容比如 - 3-[[bar]] 就是关联型双链,因为事实上,我觉得传递型双链完全也可以有上级结点,比如我的 daily note 里有一个顶级节点是学习,然后下面是关于学习的内容,我在这个顶级节点之下再进行内容传递,关联型双链完全也可以没有上级结点,如同我前面发的方法 1 一样。

    我在 roam research 中看了一下,比如有一个页面是这样的:

    image.png

    这个[[Roam meetup]]上面也没有上级节点,查看它的反链,可以看到也是折叠了,没有展现子列表:

    image.png

    而像这个,有上级节点:

    image.png

    它的反链中还是展现了子列表:

    image.png

    所以,roam research 的具体实现中与您在 Issue #2762 · siyuan-note/siyuan 所描述的原则有矛盾,他们并不是按照有无上级节点的原则展现双链的

    所以,事实上,对于关联型双链,思源之前的(1.3.4 之前)的展现内容和 roam research 的展现内容是一样的,只需要把块标从段落块换成列表项就好,不需要展现子级内容

    因此,按照 roam research 进行设计的话,应该是这样:

    • 该节点的内容除了块引用之外还有其他内容的话,不展现子列表,或者在反链面板中默认折叠,也就是说和 1.3.4 之前的版本差不多,只是把块标从段落块换成列表项就好
    • 该节点的内容只有一个块引用,没有其他内容时,展现子列表,也就是按照 1.3.6 的方法

    @88250 D 大,您可以看一下,我觉得按照 roam research 的方案来设计更加科学一点,您现在的设计是按照 logseq 做的,个人认为还是有不少差距的。从我的体验以及我所观察到的 roam research 用户的使用方式来说,在单个笔记库内,关联型双链在数量上远多于传递型双链,因为在正文中会有大量的关联型双链,现在改版之后,对于关联型双链的体验还不如改版前的。

    2 回复
  • 其他回帖
  • fangly 1 1 赞同

    1.3.6 这次的更新很给力,但针对标题上的传递型双链,有个小地方我觉得可以再优化一下

    image

    可以看到标题下面的列表块仍然以列表块的形式展示,个人认为列表块不适合作为反链中的展示内容,内容挤在一团,子结点直接附在父结点后面,逻辑上会比较混乱,反而造成困扰。我觉得反链面板中的列表块应该都要展开到第一级列表项

    我再举一个我实际使用过程中的例子:

    我在每一篇论文笔记中,都会有一个标题叫做[[academic writing]],在这个标题下以列表的形式记录在这篇论文中遇到的好句子,例如这样:

    image

    这个标题作为一个传递型双链,链接到《academic writing》这个文档上,此时,在《academic writing》这个文档的反链面板中就汇总了所有的我从论文中收集的好句子,然而现在的反链面板是这样的:

    image.png

    我希望是这样的,也就是和列表中的传递型双链一样:

    image.png

    因为思源是文档型,相比大纲型软件考虑的东西要更多一些,标题其实完全可以等价为列表中的一个父节点,其反链展现逻辑也应当要和列表中的逻辑一致,而现在在子列表的展开上两者不一致。

    把这个地方改掉,我觉得思源就吃透双链了,在反链上将文档与大纲融为一体

    1 回复
    2 操作
    fangly 在 2021-09-27 02:42:06 更新了该回帖
    fangly 在 2021-09-27 02:38:24 更新了该回帖
  • Airen 2 1 评论

    本人使用的是 remnote 1.4beta,据传明天更新正式版,和爱好群里面的人讨论了一下,我们总结出三种不同的使用方式:

    1.使用[[的锚链接
    
    2.使用##的标签
    
    3.使用((的嵌入
    

    本人私以为,从本质上,这三种方式,都是双链,无论哪一种都可以通过索引相互查找引用.

    在心智负担上,[[一个主题]],##和((也可以是随便一个主题,其实三者的心智负担都是相等的,只是表现形式的不同,真正的区别在于后期整理阶段对文档的影响不同.他们的特点在于:

    1.[[锚链接因为要把子节点拖上去,所以最后只留锚点,或者不留锚点.
    
    2.((最后组织的时候不影响原文档中的原本内容和结构.
    
    3.##因为标签本身代替了锚点,所以如果全部拖动,会导致双链丢失.
    

    三种双链并没有本质上的好坏之分,甚至几乎都是互通的。比如我可以在锚节点的新界面不拖动,而是创建嵌入来获取原来锚节点下的内容.我想,任何单一局限的笔记流程和组织方式,都不会是最优解,也永远不会有最优解,通过一种或多种的双链接构架适合自己的知识结构才是最正确的方式。

    从另一方面讲 标签 锚链接 这些都是很抽象的概念。就像楼主说反链统一了标签和锚文本,这让我想起了量子力学,也许知识组织的形状也许就像光量子一样。光既是一种波也是一种粒子,而知识的组织也是,分类即是标签,标签即是分类,结构树是一种标签树,而标签树是一种结构树,它既是网状的,也是树状的,就像一个物体由不同的光从不同的方向打出的投影是不同形状一样。

    1 回复
    谢谢补充
    deerain
  • deerain 1

    我觉得你上面提到的两种方式最主要的区别就第一种主动把文章 2 和文章 4 拆到了两条反链里,第二种是让文章 2 和文章 4 处于同一条反链里。文章 2 和文章 4 都塞在同一个标题块里确实不太利于查看,但是就算是第一种方式,文章 2 下面也分标题 1 和标题 2,如果标题 1 对应的内容太长一样没法直接在反链的那个列表块里看到标题 2 的内容。

    所以我还是倾向于改成像 roam research 那样把第一个子级都展开,第一子级太多我觉得不算大问题,现在反链里展示列表块只是相当于做了个默认折叠,真正重要的内容就应该一览无余地展示出来,只要能保证用户可以手动折叠就行了。

    但是这个问题的关键还是在于,不管反链具体采用哪种形式,都需要尽快敲定,因为用户的使用方式也需要去适应软件,这个需要 D 大 @88250 尽快想好,哪怕只是口头决定也行,不然大家就不太敢用起来。

    还有一点,1.3.5 的这种展示列表块的反链形式只存在于思源这个软件上,它有一个绕不过去的弊端就是缺少舆论背书。哪怕今天有人说这种形式还可以接受,但将来一定会有其它使用习惯不同的人觉得它不好,那个时候又要陷入无休止的争议。但如果采用展开第一层子级的形式,首先它已经被别的软件证明了是实用的,其次将来就算别人有所质疑,只需要说一句「这个设计是跟 roam research 一致的」就可以比较容易地把质疑声挡回去。光从功能上说,每个人都能根据各自不同的使用习惯为每种设计列出一些优缺点,但是有些设计在舆论上就是比别的设计更加站得住脚,这个是思源非常缺乏的。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • RabbitMQ

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

    49 引用 • 60 回帖 • 394 关注
  • Vim

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

    27 引用 • 66 回帖
  • Eclipse

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

    75 引用 • 258 回帖 • 632 关注
  • 工具

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

    273 引用 • 679 回帖
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 35 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 682 关注
  • Swift

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

    34 引用 • 37 回帖 • 495 关注
  • 国际化

    i18n(其来源是英文单词 internationalization 的首末字符 i 和 n,18 为中间的字符数)是“国际化”的简称。对程序来说,国际化是指在不修改代码的情况下,能根据不同语言及地区显示相应的界面。

    7 引用 • 26 回帖 • 3 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 906 回帖 • 190 关注
  • jsoup

    jsoup 是一款 Java 的 HTML 解析器,可直接解析某个 URL 地址、HTML 文本内容。它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数据。

    6 引用 • 1 回帖 • 459 关注
  • Kotlin

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,由 JetBrains 设计开发并开源。Kotlin 可以编译成 Java 字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在 Google I/O 2017 中,Google 宣布 Kotlin 成为 Android 官方开发语言。

    19 引用 • 33 回帖 • 22 关注
  • Redis

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

    284 引用 • 247 回帖 • 184 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 401 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    51 引用 • 226 回帖
  • Java

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

    3167 引用 • 8207 回帖
  • sts
    2 引用 • 2 回帖 • 147 关注
  • 笔记

    好记性不如烂笔头。

    303 引用 • 777 回帖
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖 • 1 关注
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 293 关注
  • WiFiDog

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

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

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

    5 引用 • 18 回帖 • 149 关注
  • OAuth

    OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 oAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 oAuth 是安全的。oAuth 是 Open Authorization 的简写。

    36 引用 • 103 回帖 • 7 关注
  • 导航

    各种网址链接、内容导航。

    37 引用 • 168 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 550 关注
  • ActiveMQ

    ActiveMQ 是 Apache 旗下的一款开源消息总线系统,它完整实现了 JMS 规范,是一个企业级的消息中间件。

    19 引用 • 13 回帖 • 628 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 350 关注
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖 • 1 关注