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

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

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

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

  • 思源笔记

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

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

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

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

欢迎来到这里!

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

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

    这个还是要结合整套笔记流程来看,不能孤立地看这一步,并且要分类讨论。

    比如像 - [[闪电网络]] 文章4(需要重读),它是一个传递型双链,我在 daily notes 里把它记录下来之后,只要整理《闪电网络》的时刻没有来临,我就不会再看到它;过了一段时间我需要整理整篇《闪电网络》了,在反链里看到了 - [[闪电网络]] 文章4(需要重读) 这条反链,它的一级子节点很多,在反链里确实占地方,而且把其它的关联型双链都挤压得不显眼了,但问题是,今天我本来就是来整理这篇《闪电网络》的,在我看到这条反链的一瞬间我就会把它拖进正文去整理,从此它就对反链面板没有影响了。

    所以在整个流程中,这条传递型反链就像薛定谔的猫,它存在于反链面板的时候确实很占地方,但这时候我根本看不见它,等我有一天真的看见它了,它就会立马被我从反链面板里移出来,在我这个观察者的视角中,它存在于反链面板的时间只有一瞬间,所以它长一点也就无所谓了。

    虽然稍微有点理想化,但我仔细一想,子列表过多的问题从一开始就不是问题,反正传递型双链只是暂时存在于反链面板,查看反链的时候,看到传递型双链直接把它拖进正文就行了,拖进正文之后无论想永久折叠还是想永久展开都可以,就算暂时不做细致的整理,把它放在正文里也比放在反链里更好,最开始让它处于反链里只是为了在 daily notes 里快速记录而已。在彻底整理一篇笔记之后,需要留在反链里的也都是关系型双链,而关系型双链一般不会有子节点。所以最初展示的时候应该是一种宁滥毋缺的原则,至少对传递型双链是这样。

    1 回复
  • 其他回帖
  • 其实无论是用 rem tag 来做分离还是直接用 portal 记录,都是在记录的时候提前考虑整理问题。普通大纲双链笔记软件那种混杂的反链强制性地阻止了这种提前考虑,这对于快速记录来说其实反而是好事,因为把整理的负担推给了未来、所以当下能做到零压力记录。未来真的要用到某些笔记的时候,整理笔记的困难跟完成一个任务要面临的众多真正困难一比其实不算什么。

    我是以这样的模型来思考这个问题:对一个人来说,整理笔记的心智负担并不是完全恒定的,比如 Conor 流程把整理的困难完全抛给了未来、以达到当下的完全无压,它的心智负担大约是当下 0 未来 40;remnote 可以稍微把整理的困难分一点到当下,同时大大降低未来的整理困难,它的心智负担大约是当下 5 未来 25;而传统文件夹笔记一般都需要在记录时就把整理方式考虑好,而且未来依然需要整理,它的心智负担大约是当下 50 未来 50。

    粗略来说我觉得 remnote 更先进,但是如果「未来」永远不来,Conor 流程里的心智负担就永远是 0。

    能帮忙填下这个关于双链笔记的问卷吗 😋 :https://www.yuque.com/forms/share/cee13285-b07c-4adb-818c-809b9ba2497a

    1 回复
  • 其实简单来说,就是以 daily notes 为核心,做到流畅无压记录,然后靠反链的高度可操作性实现后期整理。

    - [[链滴]]
      - 反馈关于思源笔记的意见可以上链滴社区发帖
      - 链滴社区现在用的还是 Vditor 编辑器
    

    如果在 daily notes 里像上面这样记录,就完全没有必要特地去新建或是打开名叫 链滴 的页面,直接在这里记录就好了,将来打开 链滴 这个页面就可以在反链里看到所有跟它有关的信息,相当于通过双链来传递内容,那些反链其实就等同于 链滴 这个页面的正文。

    虽然我之后的每天都会在 daily notes 里记录一些跟 链滴 相关的内容,但是我根本没有必要去整理 链滴 的反链,我只需要在心里知道「这个东西将来可以方便地整理就行了」。直到将来某一天我需要写一篇介绍 链滴 的文章,我才有必要去整理,这个时候直接把 链滴 这个页面的反链里的所有内容向上拖进正文,然后靠大纲编辑器的编辑能力来组织正文,最后输出就行。

    这个过程没有任何的心智负担,记录的时候只管记录、不需要考虑整理的事,等真正有了应用需求的时候整理起来也很方便。

    另外,roam research 有一个合并页面的功能,能进一步降低心智负担。因为 [[链滴]][[黑客派]] 是同义词,在 daily notes 里思考该用哪个词也会造成心智负担,可是在 roam research 里不需要担心这些,因为 [[链滴]][[黑客派]] 这两个页面将来是可以直接拼接合并的,所以前期只管记录就好了。这样一来,用户在做记录时的心智负担几乎是零。

    还有一些细节没说到,但大致就是这样。

    3 操作
    deerain 在 2021-08-13 01:25:26 更新了该回帖
    deerain 在 2021-08-12 23:31:44 更新了该回帖
    deerain 在 2021-08-12 23:18:16 更新了该回帖
  • fangly 1

    我想探讨一个问题:

    假设这样一个场景,我目前正在研究共识协议优化闪电网络等主题,某一天,我看到了一篇关于 PBFT 协议的共识协议优化的文章,之后看了一篇关于闪电网络的文章,然后又看了一篇关于 PoW 协议的共识协议优化文章,最后又看了一篇关于闪电网络的文章

    方法 1

    这时候,我的 daily note 可以是这样的,不把双链锚文本单独作为一个父结点,而是在父结点后贴上双链,同样能达到传递的功能,并且对同一篇文章可以一次传递到多个文档,这里称为方法 1,如图:

    image.png

    这是闪电网络这个文档的反链面板,目前的形态不错,足够使用:

    image.png

    方法 2

    也可以是这样的,按照典型传递型双链的方法组织,锚文本单独作为父结点,我所理解的形态是这样的:

    image.png

    这是闪电网络这个文档的反链面板:

    image.png

    这时候这个反链面板就存在问题了,我们和 logseq 中的反链面板进行对比:

    image.png

    可以看到,思源中是显示锚文本列表项下的列表块,这样一坨的列表块,实际上等价于只显示第一个列表项,也就是只有第一篇文章的内容,而第二篇文章是看不到的

    此时就面临一个决策,思源现在的反链面板对列表的展示是否需要进一步修改,也就是说需不需要进一步把列表块拆分成列表项,展示该列表块的所有的第一级列表项,完全变成类似 logseq、roam research 那样?

    如果不修改,保持现在的情况,对于习惯于方法 1 的用户(比如我)来说,是有利的,对于习惯于方法 2 的用户来说会不利,信息量少了一些

    而如果修改的话,对于习惯于方法 2 的用户来说会有利,而对于习惯于方法 1 的用户来说,可能会导致反链面板不可用,因为对于一篇文章,我的笔记可能非常长,第一级内容就有很多很多,导致下面这种情况,占据了整个面板:

    image.png

    虽然目前的形态对我来说是有利的,但我觉得还是要讨论清楚,不然如果以后修改的话,我的反链面板会变得不可用,我得立刻修改我的 daily note 形式

    总结一下,两个问题:

    • 方法 1 和方法 2 是否都可行,还是说哪种方法会有问题
    • 思源现在的反链面板对列表的展示是否需要进一步修改,也就是说需不需要进一步把列表块拆分成列表项,展示该列表块的所有的第一级列表项,完全变成类似 logseq、roam research 那样
      • 个人倾向于展现形式保持现状(1.3.5),对于使用方法 1 的用户来说,完美,没问题,对于使用方法 2 的用户来说,信息量少了一些,但还是具有可用性;但如果修改了,对于使用方法 1 的用户来说可能会带来灾难性的影响
    2 回复
    3 操作
    fangly 在 2021-09-24 19:04:49 更新了该回帖
    fangly 在 2021-09-24 17:13:26 更新了该回帖
    fangly 在 2021-09-24 17:09:45 更新了该回帖
  • 查看全部回帖

推荐标签 标签

  • DevOps

    DevOps(Development 和 Operations 的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

    45 引用 • 25 回帖 • 1 关注
  • Q&A

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

    7017 引用 • 31715 回帖 • 220 关注
  • 知乎

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

    10 引用 • 66 回帖
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 1 关注
  • IBM

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

    16 引用 • 53 回帖 • 130 关注
  • 小薇

    小薇是一个用 Java 写的 QQ 聊天机器人 Web 服务,可以用于社群互动。

    由于 Smart QQ 从 2019 年 1 月 1 日起停止服务,所以该项目也已经停止维护了!

    34 引用 • 467 回帖 • 712 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 6 关注
  • Redis

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

    284 引用 • 248 回帖 • 123 关注
  • TensorFlow

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

    20 引用 • 19 回帖 • 1 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖
  • Elasticsearch

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

    116 引用 • 99 回帖 • 250 关注
  • V2Ray
    1 引用 • 15 回帖 • 2 关注
  • 黑曜石

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

    A second brain, for you, forever.

    10 引用 • 88 回帖
  • 链滴

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

    记录生活,连接点滴

    143 引用 • 3752 回帖
  • Latke

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

    70 引用 • 533 回帖 • 735 关注
  • 人工智能

    人工智能(Artificial Intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。

    77 引用 • 159 回帖
  • LeetCode

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

    209 引用 • 72 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 613 关注
  • ActiveMQ

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

    19 引用 • 13 回帖 • 641 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    54 引用 • 85 回帖
  • 快应用

    快应用 是基于手机硬件平台的新型应用形态;标准是由主流手机厂商组成的快应用联盟联合制定;快应用标准的诞生将在研发接口、能力接入、开发者服务等层面建设标准平台;以平台化的生态模式对个人开发者和企业开发者全品类开放。

    15 引用 • 127 回帖 • 1 关注
  • 新人

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

    51 引用 • 226 回帖
  • Openfire

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

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

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    713 引用 • 1174 回帖 • 104 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    483 引用 • 906 回帖
  • PHP

    PHP(Hypertext Preprocessor)是一种开源脚本语言。语法吸收了 C 语言、 Java 和 Perl 的特点,主要适用于 Web 开发领域,据说是世界上最好的编程语言。

    165 引用 • 407 回帖 • 509 关注
  • Jenkins

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

    51 引用 • 37 回帖 • 3 关注