Marginnote学习脑图转markdown

最近一直在使用Marginnote看书,记录了大量的脑图笔记,但是桌面操作系统是Windows,无法直接对笔记编辑整理,因此通过曲线救国,采取下列方法使脑图笔记markdown化。

工具

  • Marginnote3(App Store购买)
  • pandoc(可以去下载安装二进制文件,也可以借用Typora进行安装)
  • vscode(用来编辑html文件,其他编辑器也可以)
  • MS Word(Marginnote导出的docx,有些小问题,需要用Word稍加处理)
  • Typora(建议使用这个书写markdown文件)

将脑图导出为Word

  • 然后可以选择IM软件和网盘工具将文件同步到电脑上(如果文件较大,可以先保存到『文件』app中,再通过共享方式,发送到别的地方)

docx to markdown

在处理之前,要用Word对docx进行调整一下,因为直接导入docx文件到Typora中,会导入失败。

用命令行使用pandoc进行导出,也是显示类似的错误提示。

笔记怎么能没有图片呢?

--extract-media参数可以指定导出的图片存储路径,这里使用相对路径即可,如果文件夹不存在,会自动新建文件夹。

$ pandoc -o book.md --extract-media=.\book book.docx
# 报错如下
couldn't unpack docx container: Did not find end of central directory signature

# 可能你这里的报错是找不到pandoc这个命令类似的,务必检查pandoc在不在环境变量中。
# 添加到环境变量后,使用如下命令检查是否有效。
$ pandoc --version

搜了一下报错内容,暂时还未发现合适的解决方案。

不过根据错误提示,我初步猜测是Marginnote导出的docx文件格式有些问题,因此,Word的问题我们就用Word来解决。

用Word打开文件,找到左上角文件,然后在信息处,可以看到它提示是兼容模式,先尝试进行转换,保存,看能否解决问题。

这次再尝试导入,发现已经可以了。(虽然无法定位问题,但也算提供了一种解决方案)

但是这里的格式比较混乱,缺少我们脑图大纲应有的层次样式,尝试一下别的方案。

查询了一下pandoc官网,支持从docx格式输出到html,这次我们看一下HTML的样式。

$ pandoc -o book.html --extract-media=.\book book.docx
# 文件名有空格时,使用引号括住

预览一下我们的book.html,呈现如下样式,非常接近我们的预期了。

再优化一点点

发现左边的序号全是字母a,不是很美观,我更期望使用无需列表,查看F12审查元素后,看到确实是ol标签。

我们将其改为ol标签,预览效果。

还不错,我们用vscode的查找替换将进行批量修改,主要更改</ol><oltype="a"这个属性不影响我们预览。

然后再次打开book.html文件,Ctrl + A全选,复制到Typora中,基本上就达到我的预期效果了。