从markdown到epub电子书
in 技术日志 with 1 comment and 11930 read

从markdown到epub电子书

in 技术日志 and 11931 read

1.采集信息,编辑成MD文稿

比如说我在逛HiPDA的时候,突然看到有个人批评《鸟哥的Linux私房菜》写的太繁琐,不如TLCL简明易懂,还给出了TLCL的链接。

点进链接去一看,竟然是个Github的repo,而且是两年前就已经完工的项目。仔细查看一下文件结构,原来全都是由Markdown文件组成。

有意思。这就非常适合制作成一本EPUB书籍,放到iPad上,慢慢看。

有些发布成各种长帖的内容,需要你手动复制到一个个Markdown文件中去,这点有些繁琐,请务必有耐心。

信息来源:各种网站

一般比较好的来源是Github,里面有很多合众翻译的文档。一部分文档已经利用Gitbook制作成了电子书,另一部分则是以网页形式存在,这些网页就比较适合采集数据。

另外一些阅读不方便的小说会发表在百度贴吧上。我使用一个贴吧的Python爬虫来爬取它的正文内容。

这个爬虫有关的内容可以看我以后写的分享:[《我是怎么从百度贴吧找到那么多八雪同人的》]()(笑)。

这个爬虫是别人很久以前写的,有些不方便的地方需要手动操作,不过这至少比一点点复制强的多了。

【实际操作】

现在我们从Github上下载TLCL的ZIP,下载下来之后自动解压缩成为一个文件夹。

下载

打开文件夹中,可以看到里面的子文件夹Book正是盛放正文md文件的地方。

使用的App

信息采集嘛,没有好用的工具可不行呢。

MWeb

这是我首推的应用,国内独立开发者开发的,有Mac和iOS双平台,功能非常强大。

Typora

这是我其次推荐的应用,Mac和Windows、Linux三平台都有,可以直接导出EPUB,可是它导出的EPUB兼容性不好,在iBooks上无法解析。

方法

复制、粘贴等等。

【实际操作】

我们在MWeb屏幕左上角的文件菜单中,打开外部模式。

然后点击MWeb窗口左下角的+号,引入刚才下载到的Book目录进去。

引入目录

点击选择进入下一步,修改排序方式为按文件名升序,即可。

修改排序

但是我们是无法把多个md文件导出成一个HTML文件的。

怎么解决?

两个方法:

【方法一】合并成一个md文件,然后转换成HTML,再转换成EPUB

想要做到这一步,简单的复制粘贴即可,如果你嫌烦的话呢,也可以跟我一样写个小程序,让它自动完成这件事情。

好,我现在去写个程序。这种小程序代码量非常少,而且泛用性不高,很容易写。

写程序

程序代码请点击:TLCL/main.m

我们通过不同的途径,得到了同样的一个md文件,这样,我们就可以继续来利用MWeb的导出功能了。

同样的md文件

【方法二】分别转换成HTML文件,然后统一成一个EPUB

这样其实也可以,但是支持多HTML合一的程序还是比较少的,而且……点很多次转换也很烦。重点是,在写这一段之前已经把程序写好了。

给自己跪了。

2.导出成HTML文件

使用的App

还是这两个应用,同上。

方法

然后我们用MWeb打开上一步中获得的md文件,在文件菜单中选择导出为HTML即可。这样我们就获得了一个与md文件同名的HTML文件。

同样的HTML文件

3.将HTML转换为EPUB文件

使用的App

HTML to ePUB converter

一个很土鳖的程序,但是很好用。

打开这个程序之后,选择文件,然后导出。

虽然这个程序自带一个“Merge into one file”功能,可是我忘了啊。

反正我都写好程序合成了一个md文件了。

就把这个功能忘了吧(远目)。

Typora

其实有Typora的话,可以一步到位导出EPUB,但是上面有讲过,iBooks是无法识别Typora导出的EPUB的。我选择死亡。

方法

将保存有TLCL.md的目录导入HTML to ePUB converter,然后点击“Convert”,选好导出目录之后进行转换。

HTML to ePUB converter

导出之后我们就得到了一个EPUB电子书了!

EPUB

别着急,这还不是成功的时候。

4.编辑EPUB文件

新鲜出炉的EPUB电子书里面的meta信息全都是空的,我们现在需要开始给他添加详细信息了。

使用的App

calibre

这个软件太有名我都不想说了。没有安装的请去搜索一下。

方法

将EPUB导入calibre中,点击“编辑元数据”按钮。

编辑元数据

这个包含了书名、作者、ISDN、语言、封面等等关键内容。

一本书最重要的东西不是内容,而是封面(被打死),我是说,对于我个人来讲。

电子书当然也需要一个漂亮的封面,我们可以直接在网上搜索这本书的名字,找到它的图书封面,也可以使用Calibre的自带封面模板。

其实可以使用calibre自带的“下载元数据”功能,只要你填对了书名。

还有,注意语言一定要改成这本书应该有的语言。

这一步比较重要,在书右键点击编辑书籍。

编辑书籍

然后点编辑目录。

编辑目录

然后删掉自动生成的目录,选择“从所有的标题中生成目录”。

生成目录

然后确定,保存。

保存

大功告成

这本EPUB电子书已经做好了,我们打开iBooks看看效果吧!

在书上右键,点击文件所在目录,然后双击打开EPUB文件。

效果

很尴尬,卡住了。

没办法,只能传到iPad的多看阅读了。

传送后的阅读效果如下。

效果

总而言之就是这个样子了,这本书太卡了我要删掉它(摔)!

Responses
  1. danny

    那所以最后最好的办法还是复制粘帖在制作成epub。

    Reply