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

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

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

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

  • 思源笔记

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

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

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

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

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 我真正担心的是这两种方式都离思源比较远

    虽然看上去我有点 rn 吹, 但实际上手完 rn 的功能后, 确实感觉到 rn 挺多功能的便捷和可取之处, 我觉得这是仔细构思过后的结果, rn 由于开发早和 anki,pdf 等的先发地位, 使得他们有更充裕的时间来构思之后功能该怎么做, 所以我对 rn 的这次重构还是挺期待的.

    说这段话的意思其实是想思源到某个时间点考虑下要不先停下来好好的构思下, 但笔软竞争激烈, 停下来也确实有点难, 祝福思源

  • 其他回帖
  • 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 回复
  • 其实简单来说,就是以 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 赞同

    我觉得反链展现的标准应是:是否展现了充足的上下文。而是否是在“传递”我觉得不太重要。我在一个节点中如果除了双链锚文本外还有其他内容,这些其他内容就相当于上下文,给我足够的信息判断我在这里进行引用是在干什么。而如果一个节点中只有双链锚文本,这样就缺乏上下文,我不知道我在这里引用它是在干什么,所以才需要展现子列表。上下文的目的是让用户知道我为什么引用了当前文档,从而判断这个反链项目是否需要进一步仔细查看。

    对于 - [[闪电网络]] 文章4(需要重读) 这个,上下文信息已经足够,文章标题的信息量已经很大了,不展开子列表我也已经清楚我这里为什么引用[[闪电网络]],如果我觉得我需要再看一下这篇文章的内容,我只需要展开节点就好,如果我觉得这篇文章目前不需要再仔细看了,我就直接忽略它就好,目光直接移动到紧贴着的下一个反链项目。而此时如果默认展开了该文章的子列表,如果我子列表的第一级节点就有几十个,此时就占满了反链面板,不方便我看下一个反链项目,此时展开子列表我觉得没什么意义,属于冗余信息,文章标题的信息量已经足够了,子列表对信息量的提升非常有限,并且对反链面板造成了一定的“污染”。对我来说,我几乎所有网上摘录的 input 内容都是按这种形式组织的,就是 daily note 的第一级节点中会包含标题和一个双链锚文本,所以如果把我现在的笔记迁移到 logseq 中的话,我有不少文档的反链面板被严重“污染”,完全不可用。

    我觉得还是 roam research 的方式比较适合点。

    所以 logseq 虽然在功能上会让它展示下级,但实际使用中因为用户一般不会在这里再写一个子节点,所以大多数时候是没什么影响的

    在我的体验中,我是经常会写子节点的,我一般的列表达到五六层是常有的事,在第二三层进行关联型双链也经常做。再比如你所举的 - [[闪电网络]] 文章4(需要重读) 这个例子,这下面肯定会有非常长的列表,一级节点可能会有几十个,这究竟是传递型双链还是关联型双链,我觉得不好说,在我的笔记系统中,倾向于当做关联型双链,这里面的内容我不会直接移动到 闪电网络 这个文档中的,只是为了说明这个文章和闪电网络这个主题相关。其实我觉得区分关联型双链和传递型双链没什么必要,反正都是链接嘛,而且其他大纲型双链笔记也没有针对两者的特性进行区分处理:logseq、葫芦笔记是全部一视同仁认为需要子列表来丰富上下文信息;remnote、roamedit 是全部一视同仁认为不需要子列表来丰富上下文信息;roam research 是根据该节点本身的上下文是否充足来判断是否需要子列表来丰富上下文信息,我觉得这是比较中和、比较合理的方式。

    2 回复
    4 操作
    fangly 在 2021-09-25 21:58:52 更新了该回帖
    fangly 在 2021-09-25 21:53:25 更新了该回帖
    fangly 在 2021-09-25 21:47:07 更新了该回帖
    fangly 在 2021-09-25 21:34:23 更新了该回帖
  • 查看全部回帖

推荐标签 标签

  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 132 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 640 关注
  • BAE

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

    19 引用 • 75 回帖 • 617 关注
  • HHKB

    HHKB 是富士通的 Happy Hacking 系列电容键盘。电容键盘即无接点静电电容式键盘(Capacitive Keyboard)。

    5 引用 • 74 回帖 • 410 关注
  • LeetCode

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

    209 引用 • 72 回帖 • 1 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    169 引用 • 799 回帖 • 3 关注
  • Solo

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

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

    1425 引用 • 10043 回帖 • 470 关注
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    108 引用 • 54 回帖
  • Vim

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

    27 引用 • 66 回帖 • 2 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    207 引用 • 2031 回帖
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 441 关注
  • Hibernate

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

    39 引用 • 103 回帖 • 685 关注
  • Gzip

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

    9 引用 • 12 回帖 • 112 关注
  • Electron

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

    15 引用 • 136 回帖 • 4 关注
  • DevOps

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

    40 引用 • 24 回帖
  • QQ

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

    45 引用 • 557 回帖 • 218 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    28 引用 • 108 回帖
  • 智能合约

    智能合约(Smart contract)是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易,这些交易可追踪且不可逆转。智能合约概念于 1994 年由 Nick Szabo 首次提出。

    1 引用 • 11 回帖 • 5 关注
  • CSDN

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

    14 引用 • 155 回帖
  • 微服务

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

    96 引用 • 155 回帖 • 3 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 3 关注
  • Markdown

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

    164 引用 • 1456 回帖
  • ZeroNet

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

    1 引用 • 21 回帖 • 592 关注
  • 链滴

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

    记录生活,连接点滴

    132 引用 • 3651 回帖
  • 锤子科技

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

    4 引用 • 31 回帖 • 6 关注
  • GitBook

    GitBook 使您的团队可以轻松编写和维护高质量的文档。 分享知识,提高团队的工作效率,让用户满意。

    3 引用 • 8 回帖
  • gRpc
    10 引用 • 8 回帖 • 54 关注