一图展示我的思源工作流

前言

使用思源笔记一段时间了,这段时间接触了 daily note、MOC 管理等有别于传统的笔记流程,仿佛打开了新世界的大门,在思源论坛,交流群等各位大佬的帮助下,我也摸索了一套自己的工作流,并整理为一张图片,希望能和各位大佬一起友好交流。由于本人刚接触此类流程不久,目前的笔记也较少,因此若此流程中有任何的错误或不足,也十分欢迎各位大佬指正、建议。

我的思源工作流

思源工作流.png


9 月 11 日更新一些图片中的说明。

个人认为工作流中两个比较重要的原则:

  1. 一次只做一件事——对应我的笔记流程
  2. 把精力放在笔记本身而非如何管理——对应我的文档管理方式。

图片中已经详细展示了我的笔记流程,如果想要了解更多 Daily Note 或 MOC 的相关知识,推荐阅读如下大佬的文章,个人认为完全属于教科书级别的介绍,因此我也就不再献丑了。

Daily Note: 双向链接时代的快速无压记录 (yuque.com) 作者 @deerain

MOC 管理 1:MOC - 管理链接而非本体 (yuque.com) 作者 @deerain

MOC 管理 2: 如何进行知识管理丨 MOC:面向主题地去管理笔记链接 - 链滴 (ld246.com) 作者 @Achuan-2

而对于文档管理方式,我参考的是如下这篇帖子,刚开始只是使用主题库管理内容,并使用书影库替代豆瓣 app 管理自己的读书记录,后来随着摸索,我逐步也形成了自己的数据库系统,然后就惊奇地发现自己几乎就是照搬了原帖的所有内容,所以说,大佬还是大佬。因此十分推荐想尝试这类工作流的坛友阅读原文。

数据库管理: 基于思源笔记的数据库使用分享 (附模板) - 链滴 (ld246.com) 作者 @5kyfkr

感谢上诉几位大佬无私地分享自己的使用心得,我一直认为这种分享能有力推动思源笔记发展,进而更好地帮助用户打造第二大脑,这也正是我分享我的工作流的原因。

回到文档管理方式这个话题,大佬原文已经足够详细,我的分享主要补充一些我摸索这套管理系统所总结的一些心得和技巧,仅供参考。

把精力放在笔记本身而非如何管理——我的文档管理方式。

传统文档管理方式及其目的

传统的文档管理方式使用文件夹和标签将文档进行分类,本质上是根据文档内容进行分类,其主要目的是提前为未来做准备,方便在后续我们遇到新知识时,可以快速进行搜索、引用。诚然,这种管理方式是有效的,但不高效。你需要根据那些复杂的命名方法为每篇文档命名并打上无穷尽且未来不一定会用到的标签,不仅学习成本很高,而且这种方法将大部分的精力都花在了管理本身,至少对当下来说,多少有些违背记笔记的初衷。

因此,我认为最好的文档管理方式就是在解决文档复用问题的前提下,尽可能的不去管理。

对文档的类型而不是内容进行分类

我目前的文档管理方式中,我只对笔记的类型分类,而不对笔记的内容分类。我的文档类型可以分为:

  1. Daily Note
  2. 内容笔记
    1. 概念笔记
    2. 想法笔记
    3. 书影笔记
    4. 参考文章
  3. 主题笔记

后者是对前者内容的包含。Daily Note 是笔记的碎片化积累,通过反链汇总和提取 Daily Note 中记录的内容能形成各内容笔记,而各内容笔记用于服务你当前关注的主题,形成主题笔记。

由于这三种文档类型存在递进的关系,因此只要我们将精力放在关注的主题笔记上,通过主题笔记和内容笔记的关联以及各主题之间的关联,当我们遇到新主题时,我们就能向下搜索到可能相关的内容笔记,从而实现笔记的复用。而之所以我们能实现这种自然而然地管理,还是因为思源有多种强大的关联方式。

思源笔记中的关联方式

  1. 数据库
    1. 数据库相较与传统的文件夹分类的优势是不用在意文档的具体位置,可根据需要灵活的进行多维度整理。并且传统的分类方法也可以通过数据库中添加标签的方式实现,避免频繁跳转和移动文件的过程。
    2. 通过列出子文档这个挂件或使用 SQL 嵌入块,我们能将所有的内容笔记或文档笔记自动添加到数据库中。在数据库中灵活管理且不遗漏任何笔记。
    3. 内容笔记可以很方便的加入各主题文档的数据库,以及与主题库双向关联,从而实现高效管理内容笔记和主题笔记之间的关系。
  2. 双链
    1. 双链用于双向关联内容块或文档,可分为正向链接与反向链接
      1. 正向链接(Forwardlink),即当前内容块使用了哪些其他内容块。以超链接的形式显示,可以通过关系图中文档指向了哪些文档来了解该文档引用了哪些文档的内容(即内容来源有哪些)
      2. 反向链接(Backlink),即当前内容块被那些其他内容块使用了。可以通过内容块右上角的标识了解改内容块被哪些文档引用了(即内容应用到了哪里)
      3. 正反链接可以在关系图中查看。A 文档引用了 B 文档的内容,则由 A 指向 B。(链接方向指的是直接查看的方向,与来源方向相反)
    2. 双链引用的方式:
      1. 划线引用。选中文本后点击引用。静态锚文本
      2. 输入 (( 后将触发引用。相当于插入文本形式的超链接。动态锚文本
      3. 复制内容为块引用,然后粘贴。相当于插入文本形式的超链接。动态锚文本
    3. 双链的作用
      1. 传递型双链:用于将内容快速传递到对应笔记文档中,同时方便在文档反链中汇总,做到无压记录,延后整理。
      2. 关联型双链
        1. 标注来源。当前编辑内容块的内容引用了其他内容块的部分内容,可像插入参考文献的方法,右上角标上数字,并将数字划线引用。
        2. 内容展开。如某个专业名称有相关介绍的内容块,可在段落中选中该专业名词进行引用,这样就可以通过点击或悬浮鼠标查看相关内容。
        3. 快捷方式。点击引用,直接跳转到详细介绍。
    4. 注意事项
      在 daily note 流程中,通过引用的方式将内容指向对应的笔记,即传递型双链,但这部分内容实际上方向是反的,daily note 作为碎片化的内容,是其他笔记的来源,是被引用的。采用双链引用是为了方便在笔记页面通过反链汇总相关的碎片资料,同时在 daily note 中只需进行打上双链的操作即可,真正在做到无压。为了解决 daily note 中传递双链的方向与关联双链的方向相反的问题。在内容笔记中整理引用 daily note 的内容时,最好将 daily note 中的内容移动到内容笔记中,或将引用转向。即将其转化为块引用,并删除 daily note 中的引用。否则会导致引用方向的混乱。
  3. 标签
    1. 标签作为文档标记的方式,主要功能是便于查找。
    2. 打上内容标签(内容的关键词)的方式是多种多样的,这话导致标签数量的增多且重复,反而不利于通过标签寻找相似内容。
    3. 个人认为标签最好用于标注笔记状态,以提示下一步的动作,如问题、难题、待办等。
  4. 数据库的优势是灵活精细管理,双链能体现内容流向关系,而标签则便于查找。因此,结合三者各自的优势,在不同情况下应用:
    1. 数据库用于汇总内容笔记和主题笔记以及管理主题笔记和内容笔记、各主题笔记之间的关系。
    2. 双链用于传递 Daily Note 中的内容到内容笔记(提取前)和标注内容来源,便于利用 Daily Note 时间线了解内容笔记的形成过程。
    3. 标签则用于标注文档中内容的状态

我的思源文档树分享

在我的文档树中,各类型的笔记内部是平级关系,因此,你不必考虑将各内容笔记放在哪个文件夹或打上什么标签,你只需要思考这个笔记文档能应用于哪个主题就行。原则上,你只需要将主题笔记和其他笔记区分开就行,因为其他笔记可以通过和主题笔记的关联实现搜索复用,达到传统文件夹标签分类管理的效果,但在思源笔记里能很轻松实现按文档类型的轻分类,因此我目前的文档树是这样的:

image20240911155457am7rcn3.png

  1. Daily Note:每日笔记自动按月分类
  2. 知识库:
    1. 主题库:父文档为汇总各主题的数据库(主题库),子文档为各主题文档,这是重点管理的内容,新增主题时,在父文档上新增子文档,并自动添加到主题库中,实现汇总。
    2. 书影库:这部分数据库我用于代替豆瓣管理我的书影记录,各读书笔记,影音笔记等存在在子文档中。
    3. 文章库:通过思源官方剪藏插件或 Web Clipper 插件剪藏的文章放在此笔记文档下,父文档为数据库(文章库),同样是自动添加汇总。
    4. 启发库和概念库来源于 daily note,新增的文档默认放置在概念库下,想法笔记则手动移动到启发库下(当然合并也没问题)。父文档为对应数据库,自动添加汇总。
  3. 文档中转站:用于暂时存放文档

书签 Plus 插件摆脱传统文档树管理

由于管理主题笔记就能实现所有文档的管理,因此配合书签 Plus 这个插件,我们能摆脱传统的文档树管理,效果甚至更好。下面分享下我的做法:

image202409111704367h5z02a.png

  1. 近期重点关注的主题:存放关注的主题笔记文档。
  2. 数据库:用于汇总内容笔记和主题笔记,替代文档树查找。
  3. 概念库随机:回顾概念笔记,看看是否能应用到其他主题中,也是增加笔记复用的一种方式。
  4. 有更新的内容:Daily Note 中传递的内容笔记文档自动汇总到该书签中,通过对应的内容笔记反链汇总,从而实现 Daily Note 仅在记录时打开。对应的 SQL 语句如下:
    select * from blocks where id in ( select def_block_root_id from refs where box= 'Daily Note 笔记本 id')

简要示例

2024.9.23 更新一个简要示例

示例为方便打包笔记本中的三个父文档实际为笔记本.sy.zip

完结撒花~

  • 思源笔记

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

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

    21360 引用 • 84268 回帖
6 操作
ONIONLYONE 在 2024-09-23 17:32:57 更新了该帖
ONIONLYONE 在 2024-09-23 17:28:05 更新了该帖
ONIONLYONE 在 2024-09-23 17:24:11 更新了该帖
ONIONLYONE 在 2024-09-11 18:16:00 更新了该帖 ONIONLYONE 在 2024-09-11 18:11:19 更新了该帖 ONIONLYONE 在 2024-09-11 18:06:15 更新了该帖

相关帖子

欢迎来到这里!

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

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

    内在逻辑是明确的,细节上如果可以的话展示更多一些。

    1 回复
  • 哈哈,我后续慢慢补一下,其实具体的内容和参考的链接里差不太多。

  • 更新了一些说明,目前个人的工作流十分顺畅,除了——白板!!!

    1 回复
  • 你的书签 + 里面的书签标题为啥会有图片呀

    1 回复
  • 那个是文档的图标, 更新插件应该就有了

  • pakeh2866

    谢谢分享,这一版意义更大~

  • 要是那个文档自动添加到数据库中的功能 D 大能整个官方版本就完美了

    1 回复
  • 哈哈,D 大应该在忙数据库视图吧,用挂件或 SQL 目前也能满足我的需求,暂时也没发现啥 bug。

  • HellCatMia

    看了后收益良多,但是有两个问题不太明白:

    1、概念笔记的创建添加到数据库,和在日记中传递的先后顺序是什么?先添加后再使用进行传递很繁琐,但是如果在日记中快速创建又感觉容易遗漏无法在概念库中管理

    2、我总感觉素材库和主题素材库耦合得很厉害。比如我看一本书或者学习一个视频,可能视频或者书籍本身就有知识体系可以作为一个主题了,里面有涉及到一些概念,那怎么处理这种关系呢?是看完书一起整理吗,还是在日记里处理成一个个概念再在主题里汇总,或者是直接开一个主题开始写呢?能分享下楼主你的方法么

    1 回复
  • 1,这个其实怎么操作都没有关系,因为思源笔记能很好的帮你兜底。我个人更喜欢 daily note 中除了传递和记录内容,其他啥都不管,书签 plus 插件能自动汇总你传递的那些内容笔记,等哪一天你发现这个内容笔记相关的 daily note 足够多了,就可以点进去,通过反链汇总整理(当然你定期整理也行)。另一方面,概念笔记是平级关系的且能自动加入数据库,因此你在数据库中不会遗漏任何内容笔记,通过和主题库的关联,你可以筛选出未添加到数据库的概念笔记,后续补充添加到对应的主题数据库就行。

    2,我的流程是重点关注主题而非管理,因此,是作为概念笔记还是作为主题完全看你个人需要,如果你觉得概念笔记内容太多了,完全可以进行拆分,升级成主题笔记。就拿 MOC 这个知识来说,如果你仅仅想进行粗浅的了解,你可以把它作为概念笔记,应用到“我的工作流”这个主题里面。但如果你想进行特别深入的了解,完全可以升级为主题笔记,概念笔记为列表 MOC,图形 MOC,表格 MOC 等等。

    这样做的好处是你不用过分纠结笔记颗粒度问题,你的管理都是为现在服务的,而不用为了十分成体系,为了可能的未来花过多的精力。而缺陷是由于颗粒度不统一,概念笔记的复用率大概率会比卡片法这类精细化管理的方式差,这个可以通过精细化管理各主题以及随机回顾概念笔记来改善。

    这个流程主要用于碎片化,自下而上的生长形成主题笔记。因此如果你有明确的主题,这个流程会非常合适,你只需要日常留心相关的内容,然后按流程走就行。(例如我的分享实际上就是应用了这个方法)

    而如果你需要短期内学习已经十分成体系的内容,比如教材,完全可以按传统笔记的方式记录,以 daily note 作为日常积累补充。

    对于我正在看的书籍中的内容,我都是通过 daily note 汇总到对应的读书笔记中,并放入图书库管理(替代豆瓣)。

    总的来说,你要将笔记管理到什么程度完全取决于你的需求。而至少在我目前看来,如果你只是教材的学习者,拿编写教材的精力去做笔记,或许不是特别高效。

    2 回复
  • HellCatMia

    感谢解答。不好意思昨天回复有点晚,错别字有点多。

    关于您的流程,我还想问下,图书库和主题库分开,会有一些重复交叉吗?

    比如我最近在学习减肥相关的知识,一些概念可以已经汇总到了“@ 减肥”的主题;但是又看了一本关于减肥的书,书里有不少只是可以汇总到 @ 减肥的主题,但是书本本身又是图书库的一员,这样后续想要了解相关知识是再手动汇总吗?

    1 回复
  • 我是把读书笔记也加入到主题文档的数据库里面的,类似参考文献

    1 回复
  • HellCatMia

    好的,感谢

  • HellCatMia

    请问下您说的概念库自动添加是怎么实现的?

    我这边目前只找到了一种相对比较快捷添加的方式,就是通过块右键添加到数据库;似乎没找到什么自动添加的功能或者插件

    1 回复
  • 概念笔记作为概念库这个父文档的子文档,在概念库这个父文档里添加数据库,然后使用列出子文档挂件或 sql 嵌入块

  • fdtl01 1 评论

    知识库:1. 主题库:父文档为汇总各主题的数据库(主题库),子文档为各主题文档,这是重点管理的内容,新增主题时,在父文档上新增子文档,并自动添加到主题库中,实现汇总。

    这里数据库不是用的思源的 database 吧,用的列表 MOC,不然怎么在添加子文档时自动在父文档显示(通过挂件:列出子文档

    1 回复
    批量导入文档到数据库 0.0.6 版全新发布 用这个 SQL 可以实现,还挺好用的
    5kyfkr
  • 这两个都可以的,我原文有写。

  • fdtl01

    主题 MOC 文档主要记录什么?

    文章库的文章会直接关联到主题库对应的主题,那么主题 MOC 里的库是什么,下方内容又是什么

    image.png

    1 回复
  • 关于 MOC 建议看看我帖子放的链接,是主题笔记的具体内容。

    文章库和主题库是用于方便汇总管理所有的文章和主题的,可以通过数据库的双向关联在数据库中方便管理文章和主题的关系。

    主题文档里面也有个数据库,具体的文章手动添加到对于的主题文档中的数据库而不是主题库(主题库通过插件或 sql 自动汇总所有主题,不用手动添加),这样在进行整理时主题文档数据库中的内容就是你主题内容的来源。

    另外,在主题库中,你也可以通过主题文档中的数据库内容进行双向关联文章库的核查。

    1 回复
  • fdtl01

    大佬写的内容很有深度,花了一周学习思考。

    能否麻烦大佬导出一个模版例子给我们参考一下,类似文中参考链接中作者提供的例子。

    image.png

    非常感谢。

    1 回复
  • 我也是萌新,因此帖子介绍的可能也是萌新比较好上手的流程。

    相关附件已更新到帖子中。

    1 回复
    1 操作
    ONIONLYONE 在 2024-09-23 17:33:48 更新了该回帖
  • fdtl01 1 评论

    非常感谢,继续研究大佬的经验。

    请问一下,下面的红箭头代表什么意思啊?这句放到书签 + 里没起作用。

    d30ae07f67044258a44637745bc64ff7.png

    1 回复
    我测试时使用的如下代码 select * from blocks where id in (select def_block_root_id from refs where hpath like '%daily note%')
    fdtl01
  • 这个是一个 SQL 语句,能展示一个笔记本 id 的所有正向引用,如果用于 daily note 中,就能汇总展示你传递的所有概念笔记。

    笔记本 id 可以按以下方式查找:笔记本 → 更多 → 设置 → 左上角复制笔记本 id

  • 收藏了,等会看,感谢分享

  • 看了那个 sql 的帖子,眼花缭乱,有没有现成的挂件插件可以使用的huaji

    1 回复
  • 通过列出子文档这个挂件或使用 SQL 嵌入块,我们能将所有的内容笔记或文档笔记自动添加到数据库中。在数据库中灵活管理且不遗漏任何笔记。

    不确定你说的是不是自动添加数据库,如果是的话可以使用列出子文档这个挂件。

    1 回复
  • 我想要的就是你在明月清风里面说的那个,将所有的 daily note 收集在一个地方,方便做整理

    1 回复
  • select * from blocks where id in ( select def_block_root_id from refs where box= 'Daily Note 笔记本 id'

    如果你的 dailynote 是单独放在一个笔记本的话,复制这个直接修改笔记本 id 就行

    2 回复
  • 感谢,要在一个空的文档使用这个 sql 吗

    1 回复
  • 可以在文档里插入 sql 嵌入块,或者你也可以使用我帖子里说到的书签 plus 插件

  • 我用这个代码“不存在符合条件的内容块”不知道什么原因

    1 回复
    1. 首先确认下你的 daily note 是不是单独放在一个笔记本上的。(就是折叠完文档树后显示的那个)
    2. 如果是的话。按以下方式查找笔记本 id,然后替换进 sql 就行。
      笔记本 → 更多 → 设置 → 左上角复制笔记本 id

    ps,sql 嵌入快查询显示的是相关文档的所有内容,如果文档内容为空,会显示空白,但仍可以点击去查看。如果想只列出文档,也可以使用 query 挂件。

请输入回帖内容 ...