Notion 知识库重构思考

2024-01-02

观前提示

  1. 这篇文章不是安利 notion 这款软件,notion本身存在许多问题(如同步问题、缺少中文支持、云端数据存储忧虑),在你决定使用notion之前,一定要认真思考自己是否需要这款软件

  2. 有部分用户反映notion的网络环境时好时坏(虽然笔者没有遇到过),所以有条件的话有一个良好的网络环境使用起来会方便很多。

  3. 配置笔记环境确实需要花费很多时间,如果花费的时间成本小于效率提升带来的收益,这更是得不偿失的,个人还是建议大家根据自己的情况合理配置。

2020年初次上手

我是2020年初接触notion,之前接触过的笔记软件包括语雀、onenote、bear等

  • onenote:作为Office的忠实用户,我一直挺喜欢微软家的产品,但onenote我个人觉得更适合手写笔记场景,其横向无限扩展以及对格式几乎无限制的特性,让我常常以为自己是在一个画板上画画。
  • 语雀:我上一次用它还是在2021年,最近我又用了用,发现语雀和notion越来越像了,做了很多本地化设计(可嵌入高德地图等),但语雀的api功能似乎需要超级会员才能使用,这对我来说还是一笔巨款:(

在当时,出发点是有一个统一的笔记软件记录课堂笔记和阅读笔记,如下图就是我一开始用notion做的笔记

在使用notion一段时间后,我发现它很适合用来做目标规划,因此在这个领域,我打算尝试从年度计划入手,给自己划分若干个领域的几个具体的目标,比如学术与学习、软件与技术等领域,随后在月度计划中对这几个领域的任务进行分配,最后在周度计划记录每一周完成的具体任务。

a1ccae8e4c9c3363dd46ab227ecfa839

但很显然,这样规划的缺点是显而易见的:

  • 目标没有量化标准,无法清楚知道每周/每月完成了什么计划。
  • 计划模版中很多重复项,比如每一个月都需要重复“学术与学习”的副标题,在周度计划中,每次也需要重复每周的具体日期。
  • 目标、任务没有完成时间、种类等辅助信息。

2022年数据库尝试

根据2020年缺点,2022年我对目标规划页面进行了第一次更新,这次更新引入了数据库的功能,将周度计划更换为数据库格式,数据库信息包含了任务的标题、完成时间、完成状态、分类等信息,使我能够对任务进行一定程度的追踪。

每月目标以todo待办放在每个月的二级标题下。

image-20231221224419422

image-20231221224626883

在使用了这个模版半年后,我又发现页面存在一些问题:

  • 任务之间是有关系的,任务与任务之间存在父子关系、先后关系,这在当时版本的notion数据库中难以实现。

  • 目标与任务没有实现解耦,这两个东西看似像是一对多父子关系,但仔细考虑下好像又是多对多的关系。

  • 所有的任务都挤在一个database中,不仅页面打开加载慢,看起来也比较麻烦。

  • 任务与文档关系重复,如下图,在完成“小王子阅读”任务后,我会将《小王子》的阅读笔记直接写到“小王子阅读”这个任务中,看上去非常直接,但后期再想统一整理阅读笔记工作量巨大。

    image-20231221230650017

我自认为自己使用了notion快三年,notion的一些功能我已经用得非常熟练了,但发现这些问题后,我一时没有想到很好的解决办法,也无从下手解决。

2023年重构笔记

五月的某一天我偶然在少数派看到一篇文章我如何处理每天接收的信息,文章中提及的P.A.R.A笔记组织法给我了很大启发。

  • Projects 指的是正在做的项目,比如正在学习的某一门课,正在开发的某个产品。
  • Areas 指的是你感兴趣的领域,比如理财、编程、职业规划、商业等等。
  • Resources 指的是在未来可能会有用途的东西,我的理解是那些你可能会用到的,将来可以立刻作为参考的东西。比如最近我会看到很多关于 Prompt Engineering 的东西,虽然这不是我的领域,但我觉得将来会有用,所以我的 Logseq 里会有 Resources/Prompt Engineering 这个页面,跟 prompt 相关的笔记都会带上这个 tag.
  • Archives 指的是你已经完成的项目。

根据我自己的实际情况,我在其基础上重新调整为A.P.R.Q

  • Areas:个人的知识产出,包括读书笔记、知识库等
  • Projects:个人的任务追踪模块,包括projects 以及 tasks 两部分
  • Resources:在网络上不属于自己知识产出,但对个人有帮助的资源库,在这里我并没有局限于将来有用的东西,你之前在网络上收集的链接、文章,你难以确定之后是否还能用得上。
  • Questions:问题的汇聚

这期我就着重介绍一下area知识库以及project项目库部分

Area知识库

image-20231222152820909

知识库中主要以看板形式组织文档,看板页中展示的信息主要包括文档标题、子类型、优先级、子文档

image-20231222153715703

链接关系

聚焦到单篇文章中,数据库提供关系属性,可以帮助我们将文档链接到任务(即project)、文献库(literature library)。

  • 链接到Project:部分任务的产出就是文档,例如“java基础知识复习”的产出是《Java基础知识点总结》
  • 链接到Resource: 产出文档的过程中需要参考资料,在写《Java基础知识点总结》中参考了Horstmann, Cay S的《Java核心技术》这本书

通过添加关系属性,我们将存储在不同database的知识库、任务库、资源库根据内在关系链接在一起,提高了笔记之间的连接性。

image-20231222154311434

父子文档

考虑到计算机组织文件采用的树形结构,我在文档中加入了子文档这一属性,将文档组织成父子关系,同时在文档划分到不同的领域domain中,例如编程语言(program languages)、机器学习(machine learning),在每个领域下又有子类型可以选择。

notion本身并没有提供父子关系这一属性,理论上数据库中文档是可以互相嵌套父子关系的。为了不提高使用的难度,在目前我只使用了单层父子关系,也就是说一篇文档只能有一个父文档,并且文档有子文档后不能成为其他文档的子文档。

随后我们在数据库的过滤页中添加父文档为空的过滤条件就可以不重复的把所有文档按照看板形式组织

image-20240102151507621

image-20231223165415115

Project项目库

今年notion提供了一个新的项目管理模版,具体使用方法可以查看官方的这篇文章,我的页面也是在官方模版上小幅修改得到的。

  • Projects are the parent of tasks — One project can have many tasks, but each task should only relate to a single project. You can think of tasks as stepping stones towards completing a project.
  • Projects have project properties — Your projects have properties like status, people, related tasks, and related task completion percent.
  • Tasks have task properties — Tasks have properties for the assignee, due date and status.
  • Project progress is measured by completed tasks — The completion property calculates the number of completed tasks per project and displays the percentage as a progress bar.

之前在互联网公司实习,同样也是将代办划分为项目以及任务两部分,我个人觉得这确实是更符合大多数人的需求,项目往往涵盖更大部分,任务则是项目的具体实现。

image-20231223165935793

image-20231223170154805

在实际使用过程中,项目通常会与其他数据库产生交互,以我下图添加的关系为例,area属性与知识库的文档链接、collections属性与资源库的文章链接、而最后的online shopping list与购物清单链接。

image-20240102114856726

我们只需要设置好链接的数据库,在数据库直接搜索即可,文章链接后可以在右侧预览链接的文章。

Kapture 2024-01-02 at 11.45.21

image-20240102114829861

结语

因为篇幅和时间有限,我就先给自己挖个坑,如果大家感兴趣,关于资源库的部分,我就下次更新再聊,资源库部分更多涉及的是notion和外部软件打通,目前包括但不限于chatgpt、cubox、zotero、微信读书以及滴答清单。

看到这,也许很多人会问,花这么多时间在这个笔记软件上是不是像差生文具多?

我想说的是:

  1. 当你对notion的期望只是一款简单的笔记软件或者markdown编辑器,你大可不必像我一样,划分这么多的页面,花费大量时间在更改页面布局上
  2. 当你向notion中添加越来越多的页面,越来越多的笔记时,你会发现原有的组织方式已经不再适合你的笔记了,就像我从2020年一路变化这样
  3. 大部分重复性的工作已经交给notion的integration去做
  4. 对知识库以及项目库进行维护也算是对自己监督的一个方法,很多时候确实一个“第二大脑”去帮自己处理信息。