|
2023年第一天,解决了一个夙愿:终于将多年的笔记从OneNote中导出成自己可以掌控的markdown文件,从此摆脱OneNote的控制。
解决方法很简单,出人意料:
直接照着这个GitHub仓库的操作,安装Python、Pandoc以及两个必要的包,运行一小段代码,就可以了:
其原理是用win32com这个包把OneNote笔记转成word文件,并用Pandoc转成markdown文件。
采用markdown文件来管理笔记,存在一些局限性,但是我觉得带来的好处超过把多年的心血存在一个无法导出的格式里的恐惧。
为了在OneNote格式和markdown之间进行转换,目前已知会有以下问题:
- 部分OneNote笔记的笔记名包含特殊字符,可能转换失败。具体参见safe_str函数,它的作用是将OneNote笔记名转成合法的文件名,目前我只对空格、路径分隔符进行了替换,如果你在使用过程中发现一些其他的不合法字符,也可以增加替换字符数。
- 部分OneNote笔记的笔记名存在重复,因此转成markdown文件时加上了序号。
- 转出的markdown里图片采用的是{图片大小}的格式,obsidian能识别图片但是不能识别图片大小参数。
- 其他问题可以在评论区补充。
代码共计一百多行,其实非常简短,甚至可以作为Python初学者的动手练习作业。大家可以基于这部分代码定制各种功能,比如导出一部分笔记、遇到错误就跳过等等。 |
|