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

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

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 流程只是提供一个思考的切入点。

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

  • 思源笔记

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

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

    22345 引用 • 89404 回帖 • 1 关注
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 来消除其他文本的干扰的对吧?(这里我不咋清楚, 所以打了个问号)

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 趁吃饭时间, 简单对比了下这两种方式, 因对于 conor 流程有点不熟, 可能是对比的有误, 也有可能是理解有误, 望指正

    rem tag + portal 的组合拳 和 daily note(DN)

    先说说记录内容的方式, rem tag 和 Dailynote 的双链, 无论是用 rem tag 和 DN 的双链, 都是需要通过以下流程来创建的([[打字]] (##打字) -> 打字), 这两个方式在记录东西的时候粗略上是一致的(细想是不一致的), 那么先算这两种记录内容的方式在心智压力水平姑且是差不多的吧, 但出于我刚刚说的理由( [[文字]]这种双链标记式内容有时会淹没于其他大量双联查看式内容会导致之后整理的困难, 而 rem tag 这种方式因为 rn 独特的设计可以把这类需整理的内容汇总到一起, 方便以后的整理), 所以我仍觉得 rem tag 这种方式会比较好

    再说说记录文本的容器. 对比于 daily note 在一个页面上写东西, 使用 portal 的心智压力可能由"打开 portal"和"关闭 portal"这两个操作带来的吧

    1. "打开 portal"
      DN 少内容你不选择 zoom in 的情况, 这时手动打开 portal 的确在心智压力大于 DN

      但 DN 中已有很多内容的时候, conor 也会使用 zoom in 来消除其他文本的干扰的对吧?(这里我不咋清楚, 所以打了个问号), 但若从以下角度来理解 portal: "portal 可以试图看作是已经 zoom in 好的 daily note", 从这方面出发, 此时打开 portal 的操作和需要 zoom in 的 DN 就差不多了

    2. "关闭 portal"
      其实我更倾向于把"关闭 portal"这个操作不当成是心智压力, 因为已经写好了内容, 我已经可以长舒一口气了, 关闭 portal 就顺带是顺手而为

      当然"关闭 portal"这个操作现阶段在 rn 的确有点麻烦, 但好像听说重构后就方便了

    1 回复
  • 其他回帖
  • 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
  • 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 回复
  • 查看全部回帖

推荐标签 标签

  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 483 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    198 引用 • 550 回帖
  • Oracle

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

    105 引用 • 127 回帖 • 382 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 1 关注
  • JRebel

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

    26 引用 • 78 回帖 • 664 关注
  • 工具

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

    286 引用 • 729 回帖
  • 正则表达式

    正则表达式(Regular Expression)使用单个字符串来描述、匹配一系列遵循某个句法规则的字符串。

    31 引用 • 94 回帖
  • LeetCode

    LeetCode(力扣)是一个全球极客挚爱的高质量技术成长平台,想要学习和提升专业能力从这里开始,充足技术干货等你来啃,轻松拿下 Dream Offer!

    209 引用 • 72 回帖
  • Bug

    Bug 本意是指臭虫、缺陷、损坏、犯贫、窃听器、小虫等。现在人们把在程序中一些缺陷或问题统称为 bug(漏洞)。

    75 引用 • 1737 回帖 • 3 关注
  • Scala

    Scala 是一门多范式的编程语言,集成面向对象编程和函数式编程的各种特性。

    13 引用 • 11 回帖 • 130 关注
  • 锤子科技

    锤子科技(Smartisan)成立于 2012 年 5 月,是一家制造移动互联网终端设备的公司,公司的使命是用完美主义的工匠精神,打造用户体验一流的数码消费类产品(智能手机为主),改善人们的生活质量。

    4 引用 • 31 回帖 • 4 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 4 关注
  • Latke

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

    71 引用 • 535 回帖 • 787 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用
  • HBase

    HBase 是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable:一个结构化数据的分布式存储系统”。就像 Bigtable 利用了 Google 文件系统所提供的分布式数据存储一样,HBase 在 Hadoop 之上提供了类似于 Bigtable 的能力。

    17 引用 • 6 回帖 • 73 关注
  • Android

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

    334 引用 • 323 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • 周末

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

    14 引用 • 297 回帖 • 1 关注
  • jsoup

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

    6 引用 • 1 回帖 • 477 关注
  • frp

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

    20 引用 • 7 回帖
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖
  • 导航

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

    40 引用 • 173 回帖
  • 微软

    微软是一家美国跨国科技公司,也是世界 PC 软件开发的先导,由比尔·盖茨与保罗·艾伦创办于 1975 年,公司总部设立在华盛顿州的雷德蒙德(Redmond,邻近西雅图)。以研发、制造、授权和提供广泛的电脑软件服务业务为主。

    8 引用 • 44 回帖 • 1 关注
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    543 引用 • 672 回帖
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖