1 旧时代
v1 混乱时代
2014 ~ 2021 可统称为 v1.1 版本,主要使用小米便签随手记录,其中穿插有少量有道云笔记、印象笔记等软件的尝试,但以笔记数量及使用时间来说以小米便签占比最大。从笔记分类方式来看,仅有一级目录按照 checklist、随笔、摘抄等种类大致进行管理,依赖 app 进行文本查找,因此指向性搜索效率尚可。但因分类较为粗放,导致大量笔记滞留于 buffer 性质的目录下。
2021 ~ 2023 上半年约为 v1.2 版本,开始转向使用 vscode + markdown 的组合。使用 vscode 作为文本编辑器的主要原因为此阶段代码工作较多,大致建立了一套习惯的 vscode 原声快捷键及插件体系。此阶段笔记主要以本地文件形式存在,多端查看的需求以粘贴至小米便签的方式进行解决。同时笔记的组织以时间线进行划分,每天新增笔记统一存储在日期命名的新文件夹下。此外文档中插入的图片直接存在于文档同一层级的目录下。同时通过 vscode 的文件夹搜索进行查找。
v2 同步时代
v2.1 Only One
2023 第二、三季度约为 v2.1 版本,该版本主要特点是将 markdown 笔记通过 git 进行多端同步。经过张哲同学的启发,在 NAS 上搭建了 gitea 进行托管。
git 带来了同步的便捷;笔记仅使用原生 markdown 语法带来对渲染器的最低依赖;建立在 NAS 上的 gitea 平台保证了所有笔记不依赖于任何服务商而全在自身的管理之下,解决了任何支持浏览器的终端对笔记进行预览的需求,也带来了更多奇妙操作的可能性。
此时的笔记大致以下图所示结构进行分类管理(HowToCook 为 Github 知名项目《程序员做饭指南》)。
每个分类为独立仓库,extract 中笔记无所属关系,同时无插入图片,因此仓库下无层级划分。其余仓库下按项目及对象大致划分一级目录,无分类的笔记共存于根目录下,根目录同时作为大型 buffer。当有图片插入需求时,新建与笔记同名的文件夹,将笔记及图片共同存于该文件夹下。
这样的组织形式导致根目录下,带插图的无分类笔记与作为分类的一级目录同时作为文件夹形式存在,笔记组织混乱的麻烦仍然存在。同时因操作较为繁琐,图片插入步骤较多,导致体验极差,与 markdown 轻量便捷的目的相违背。当仓库使用时间较长后,由于图片数量的增多也导致仓库体积增大。
当然,与操作繁琐相对应,这种形式的组织也带来了笔记稳定的好处,图片使用的相对路径可以永远不用担心失效,这也是选择这个方案时优先级最高的需求。
但插图操作繁琐还是导致手机几乎失去了编辑能力,尽管使用的 Zettle Notes app 能够同时支持 Git 及 markdown 渲染,但查看的便捷仍然抵消不了编辑能力失效的副作用,因此也导向了后期多层级笔记体系的建立。
v2.2 Multilevel
从 2023 年第四季度至 2024 年末为 v2.2 版本,在 23 年 10 月编写的文档笔记流程分类中做如下解释。
2.1 文档笔记流程分级
基于文件形式与工作流程将文档笔记分为三级进行管理。
第一级为临时文件缓存,使用 Onenote 作为跨平台同步工具,编写与同步速度最快。
典型应用场景:
- 对各平台网页与 APP 内容进行快速复制摘抄。
- 移动设备文档编写。
- 购买的会员账号等临时信息存储。
- 待办事项列表。
第二级为 Markdown 文件,此为文档流程中的主要存在形式,原则上所有文字为主要内容的文档都应采用此形式。使用Git作为跨平台同步手段,Windows11 设备使用 VSCode 操作(集成文档编写、管理、查找、同步),安卓设备使用 Zettle Notes APP 操作。
典型应用场景:
- 直接撰写文档。
- 整理 Onenote 中的信息缓存,以此撰写新文档或对原有文档进行补充修订。
第三级面向内容输出进行设置,本级仅为抽象层次,具体文件形式依文档内容的具体用途而定,但均由 Markdown 文档编辑转换而来。
本级的典型文件类型:
- 转换为 Word 文档形式进行提交。
- 输出为 PDF 形式。
- 进一步编辑转换为博客文章。
然而在后期的使用中,onenote 已成为除随笔及摘抄之外新增笔记的主要载体。同时由于 Windows 端 wps 对触控笔的负优化,因此对 pdf 文件的手写批注需求导致这部分功能也由 onenote 进行承担。在流程文档中声明的三级分类已步向混乱,迫切需要一个在组织形式、操作复杂度、可靠度更高的笔记体系。
2 变革
由于 v2 版本建立之初暗藏着笔记分类逻辑含糊不清的隐患,以及为保证笔记绝对稳定而采取的插图保存于本地,随之而来的操作复杂度提高、文件层级混乱问题,在该版本笔记体系应用一年多之后,重蹈了 v1 版本的覆辙,再次成为一座半失能的 Mt. Shit。
为了解决日益增长的知识记录需要与笔记体系混乱之间的矛盾,开始进行 v3.0 版本的规划。
需求
- 操作简捷轻量
1.1 保持 markdown 的简单格式化能力;
1.2 图片插入操作简化; - 笔记层级明确
2.1 分类间尽量无逻辑重复,存档库中不再设置能囊括所有笔记的大型 buffer;
2.2 插入图片不再产生文件夹,扰乱分级; - 笔记间建立联系,在组织方式上形成知识网络
- 支持多系统终端同步及操作
4.1 不依赖服务提供商,源文件均在自身掌控之下;
4.2 主要编辑工作可在 PC 端进行,移动设备仅需满足基本文本编辑及查看即可; - 已有笔记迁移便捷
解决方案
- 主要工具:
- 文本编辑器:Obsidian
- 优点:基于 markdown 语法;支持双向链接及标签以形成知识网络;插件丰富,可根据已形成的文本编辑习惯进行自定义。
- 图片插入:Gitea + Picgo + Obsidian Image Auto Upload 插件
- Gitea:新建仓库作为图床。
- Picgo + Obsidian Image Auto Upload 插件:插入图片时自动上传至图床。
- 同步:Git + Gitea + Obsidian git 插件
- 补充工具:Onenote + Zotero
- Onenote:手机及 PC 端快速添加笔记,后续转移到 Obsidian 体系下;非正式场合下的协作内容分享;手写草稿。
- Zotero:文献等标注及简要注释。
- 文本编辑器:Obsidian
- 分类:[[241207_笔记分类法]]
- 临时笔记不做分类,统一放入 Onenote,对应卡片笔记分类法中的闪念笔记,将污染库的最大来源隔离。
- 永久笔记概念细分为知识库、项目库及写作等三个大类。
- 知识库(library)
- 保存所有知识型内容。
- 使用中图分类法进行等级分类,初始仅建立大类,若之后笔记数量较多则增加详细分类。
- 建立笔记时即添加双向链接及标签,其中标签按照元词法原则添加,形成网络。
- 包含之前的 extract 库、question_bank 库,其中 question_bank 库作为中图分类法中大类平级存在。
- 项目库(project)
- 包含短期项目及长期项目,其中短期项目指有明确截止日期的各类项目,长期项目则无明确截止日期。
- 写作杂记(miscellanea)
- 仅包含所有非项目进行相关的原创型内容。
- 知识库(library)
- 流程:一般场景下运行流程如下。
对于分类中可能存在的一些混乱,做以下补充解释。
- 由于实际项目过程中除备忘录、大纲等文件外,同时会产生大量知识型内容。知识型内容原则上统一放入到知识库中,通过双链与项目目录下的笔记进行关联。
eg:登山,为长期项目,某次登山活动的行程安排归属于
这一标签。项目笔记/登山
这一目录下;而作为登山参考的百名山列表则放在
知识库/K_历史_地理
。此百名山列表通过在行程安排中添加双链进行关联,此外二者同属于
#登山
- 项目进行过程中产生的所有原创型内容统一放入该项目目录下;当项目结束时,回顾及感想等原创型内容则放入写作杂记库中。
- 文献及手册等文件的阅读、简单标注及注释在 Zotero 中进行,形成笔记后放入知识库相应子类别中,进行中的项目参考解释 1 添加双链及标签。