SuperMemo的epub导入方案介绍及发展历程

SuperMemo的epub导入方案介绍及发展历程

  不同于上一篇文章直接把解决方法发出来,我这篇文章打算换一个写作思路,沿着解决方案的发展脉络看不同时期都解决了哪些问题,来让读者体会到迭代至当前的方法有何优势。

1.复制粘贴大法

  参考叶哥 @叶峻峣 这个回答中的方法

  优点是简单粗暴易行,缺点是只能复制一个章节的内容。

  还有一种是直接解压epub文件导入html文件,也比较繁琐。

2.转换成单一html文件+图片资源文件夹

  使用上面的动作可以将epub文件转换成单个有全部内容的html文件,通过网页导入(web import)到SuperMemo中就可以导入一整本电子书。到这一步,文字部分基本解决了,只剩下图片问题。通过这种方式导入的卡片,其中的图片保存为绝对路径,必须要保证整个路径一模一样,假如将集合进行迁移到别的机器,需要建立一模一样的路径文件夹来存放图片。

https://www.zhihu.com/video/1483166873495359488

3.方法2+本地服务器

  这个方法解决了一部分的路径问题,将存放html文件的文件夹设置为本地服务器根目录,这个时候SuperMemo里的图片存储形式为127.0.0.1:端口号/后续路径名。这样的话,我们只要保证后面的路径是一致的即可,不论本地文件夹怎么移动,只要将那个文件夹设置为地服务器根目录即可。

  在视频演示里我自己是通过vscode的live server插件来建立本地服务器,这个插件默认使用的端口号是550x(可以同时建立多个本地服务器,第一个端口为5500,第二个为5501,以此类推)。假设,我要导入 lunyu.epub,我拿了一个叫book的文件夹专门放我要转换的epub文件,我用脚本转换epub后,book文件夹会多了一个lunyu.html,以及lunyu/image的文件夹用于存放这个电子书的图书资源。在导入电子书的时候,我会book文件夹设置为本地服务器根目录。即,book文件夹可以通过127.0.0.1:5500来访问,同理,lunyu的图片资源可以通过127.0.0.1:5500/lunyu/image来访问。不论这个book文件夹挪到到哪里,我只要对book这个文件夹建立本地服务器即可。

4.思源本地图床

  原理不再赘诉,我上一篇文章有讲解。

思源已上线插件系统,有插件支持直接导入epub进思源。


  抛开我上一篇文章讲的优势,这个方法的额外好处是,一个是如果你本身就有用思源笔记的习惯,思源基本开在后台,就不需要在每次使用SuperMemo的时候都开一次本地服务器,只需要在导入的时候建就行。如果是用方法3,不仅要在导入的时候开,而且使用SuperMemo的也要开。当然,你要是将本地服务器设置成自启,这个优势其实不明显。

  另一个好处是,如果你的epub文件标题结构够规范,你会得到一个良好的大纲树。

  哦,上帝啊,瞧瞧左边这美丽的大纲树,我敢打赌,它一定比苏珊阿姨家的后花园还要精致。

  之前,在考虑笔记软件与SuperMemo的联动的时候,有想过让笔记软件跟SuperMemo设置一样结构的父子文档层级,现在看来有点着相了,没有好好思考这些操作的意义何在,没有发挥出现代笔记软件自己的优势。

  当我在SuperMemo里被困于细节的时候,完全可以通过点击外链跳转对思源对应的文档,通过大纲树,来俯瞰整个文档结构,并通过大纲点击跳转到文档对应的部分,相比SuperMemo里的摘录有更为完整的上下文,比完全复刻SM的形式是好很多的,可以互补。

编辑于 2023-08-06 15:14・IP 属地福建