Self Driven

兴趣是1,坚持是剩下的99

0%

我的笔记迁移之旅

起因

前阵子看到一个新闻,说是印象笔记母公司被收购,国外团队被裁撤,想起来自己的历史笔记还有残留在那里。
这么多年来我用了很多个笔记平台,从有道笔记到印象笔记再到为知笔记,中间也穿插着使用 EverMemo、DailyOne,每个平台基本都是写了很多,写完又随意地切换到下一个平台,各个平台都留着我各个阶段的回忆。
我竟没有担心笔记丢失的问题也是挺神奇的,随着平台的关停,笔记无法导出,最后一起消失这种事也不是没有,比如很早之前的点点,大学时代的每日一拍,也坚持了一年多了。
就以印象笔记关停为契机,切换到自己现在最喜欢的 Obsidian 上来。
而且我还有个奇怪的打算,把过去的笔记整理到一个平台之后,后续我也许能用 LLM 跑另外一个我出来。

思路

既然决定要迁移,那就得先定迁移哪些,怎么迁。
这次决定先处理几个完全没有再新增笔记的平台:

  1. 有道笔记:大学期间一直在用的笔记平台,记录了很多笔记,还有课程作业这些。但毕业入职网易时因为公司网络无法访问有道,被迫放弃有道。
  2. 印象笔记(EverMemo):主要是刚开始工作时的一些记录,印象笔记的 @ 特定账号记录微博还是挺好用的。还有被用作 EverMemo 的同步平台 - EverMemo 是我工作前一两年用得比较多的碎碎念平台。
  3. 为知笔记:因为有道笔记被公司禁止,我换的另外一个冷门笔记软件,网易四年工作都是用的他。到后面换工作,阿里不允许任何外部笔记软件于是又被放置。
  4. DailyOne:网易中间两年用过的手机/平板日记软件,跟着我一起去过日本。但因为某次升级的时候改成订阅付费而放弃,笔记就一直在那。

在选用笔记平台的时候我完全没有考虑过数据迁移到问题,只是觉得某个平台好用,于是就一直用下去。现在就是处理这种问题的时候 🤣
四个软件里面,三个软件都去掉了全库导出的功能。

国内的印象笔记很早就跟母公司没有太大关系,数据跟账号都分开了。
全文导出功能很早前就去掉了(或者说有过这功能吗?),前几年还能针对笔记本维度导出 .enex,2022 年则是更加干脆地与国际版脱钩,改成了国内专供的 .notes,一个加密的文件,密码只有印象笔记才知道。

为知笔记跟有道笔记都只能单篇导出。为知笔记还好点,起码是可以导出 html 文件的,是其他笔记软件大多支持的格式。有道导出的是 word 或 pdf,这对笔记数非常多的人来说,基本没有价值。

DailyOne 是这些软件里面最好的。前几年放弃 DailyOne 的时候就一键导出了所有数据,每个日记本都是一个单独的 zip 包,解包之后是一个 json 文件以及图片资源文件,是这些软件里最好处理的。

自己一个个去处理前面三个硬骨头虽然可以,但工程量巨大,想着笔记迁移的问题国内的用户应该都遇到过,果然就都有了方案~

  1. 印象笔记:vzhd1701/evernote-backup: Backup & export all Evernote notes and notebooks
  2. 为知笔记:zrong/wiz2joplin: Migrate from WizNote to Joplin.
  3. 有道笔记:DeppWang/youdaonote-pull: 📝 一个一键导出 / 备份「有道云笔记」所有笔记的 Python 脚本.
  4. DailyOne:自己来~

迁移过程中也给自己定了一个规则:
过一遍笔记,找到这些:

  1. 我的 #读书笔记 我的 #影评
  2. 发现自己未解决的 #课题
  3. 找到过去对自己的 #提问

有了方案就是执行了。

执行

印象笔记

就算是国内的印象笔记,在 evernote-backup 的支持下也是可以完美导出 ENEX 格式的。Obsidian 官方前阵子刚好出了一个印象笔记的 Import 插件(大概也是国外印象笔记团队刚被裁员的原因),一键导入非常方便。
导入了印象笔记之后,发现里面更多是一些 EverMemo 的随笔记录,发现有不少自己有感触的内容,于是就删掉了导出文件,一个个过滤。最终是用 5 天才整理完的。但收获也是最大的。

为知笔记

为知笔记的导出非常地不顺利。
虽然有工具的加持,但工具因为不能跳过加密笔记(我也忘了密码),始终进行不下去。在笔记里删掉了加密笔记又会导致文件找不到的异常。通过自己手动 mock 的形式勉强再跳过,到了导入到 Joplin 生成 markdown 这一步又是 read timeout 异常。
一筹莫展之际打开了之前下载的一个非官方为知笔记 altairwei/WizNotePlus: A community-driven cross-platform note-taking client.
这个软件上竟然有官方没有的全库导出功能!试着导出来看了一下,主要结构像这样:

每个 note 都会有对应的一个文件夹,文件夹下一定有一个 index.html 或者 index.md ,还会有一个 metainfo.json 描述文件的属性,这里面有着很重要的文件创建时间

1
2
3
4
5
6
7
8
9
10
{
"attachmentCount" : 0,
"category" : "/My Journals/2015-08/",
"created" : 1440903496000,
...
"modified" : 1568905497000,
"readCount" : 3,
"tags" : "",
"title" : "2015",
}

有了这样的信息,那就简单多了。
我现在的目的就是将这一个个 note 文件夹转换成一个以 YYYY-MM-DD-title.md 的 markdown 文件。
这一切在 GPT 的协助下,不到两小时就搞定了。
梳理过的为知笔记单独删掉,剩下的都统一放到一个 MoveProject 的地方单独归档。

有道笔记

有道笔记是最早执行迁移但又是最后完成的,他的整个迁移过程让我感到糟心。
像之前说的我并不是一键迁移,而是先粗略看一下笔记。而打开笔记这个操作就能让有道触发一次所谓的笔记升级。
升级之后的笔记,文件创建时间丢失图片丢失,点开前缩略图能看到图片,点开后都变成了裂图。
这样的笔记没法好好还原。
想起来以前就发生过这种事,有道笔记之前升级格式的时候就是 break update,我很多笔记都被迫一次性更新,笔记时间也改成了同一天。
只是没想到这次又体会到了,有道根本就不配做笔记软件。
最终有道的笔记是通过脚本简单一次性导出的,有些文件是历史的 note 文件就单独打开升级,再执行一次更新之后拿到最终产物。
有道笔记大部分内容直接归档。

DailyOne

DailyOne 的笔记迁移是最简单的。
把 json 格式上传到 poe,然后写下:

给你这样一个文件,帮忙解析里面的内容。将 entries 里每个 object 都转换成一篇单独的 markdown 文件,文件名是 creationDate 里的时间取 YYYY-MM-DD,文件正文内容是 text

在稍微完善一下细节,处理掉图片的引用,不到一小时就搞定了~

成果

整个笔记迁移到过程大概花了我 10 小时,本来预计是要花上 50 小时的,效率还是挺不错。
迁移的最终产物:

再包括整理的笔记(500+),大致上有 100w 字。

后续

整理的过程中也梳理了很多自己的课题。
有一些问题是工作的时候就提问过,现在仍然是未解决的。
也有过去写下的一些提问。迷茫不知道做什么的时候,再重新回来翻一下又有不一样的感受。
像后视镜一样,往回看。

还有我也发现,纯粹的记录没有太多意义。很像家里洗衣服,堆积了好几天的衣服一次性洗完之后晾衣服的过程是很痛苦的(。
我给自己定了一个 [[周六笔记日]]

每周或每月花了 1、2 天时间去分析自己的记录,不断的总结、分析和思考

每个周六的早上我是有时间去做这件事的。

在梳理这次笔记的过程中,我还发现我还有不少分散的笔记。像下面这些:

平台 数量 难度
iNote 阿里的几年记录非常频繁,应该也有 1K 条以上,闭源软件,不好处理 ⭐️⭐️⭐️⭐️
Flomo 截止当前 4246 条,但因为有 API,导出难度不大 ⭐️⭐️
苹果备忘录 大学一直到现在都偶尔有在用,听闻苹果有计划出导出的功能,等吧,不急 ⭐️⭐️
纸质版日记 初中开始一直到大三,工作后也写过两三年 ⭐️⭐️⭐️⭐️⭐️

再等宇宙一个信号~现在就放在那,偶尔回忆一下吧。