TL;DR:Gitbook制作电子书时文件和章节名先用英文,之后处理SUMMARY.MD目录文件和输入正文,否则上传生成网站时会出错。

任务

“这里有些精选文章的链接,你把它们做成电子书,一周内交。”

分(xia)析(xiang)

从没做过电子书,倒是看了不少(其中大多是盗版扫描PDF),制作精良赏心悦目让人想读的电子书有这几种:

  • 精校TXT,比如各种小说精校版;
  • 带目录的文字版PDF,比如《Python Text Processing with NLTK 2.0 Cookbook》、《Speech and Language Processing》这类正经书;
  • 多数MOBI和EPUB,通常由正版书去掉DRM或精校TXT转换而来。

“精校”的意思就是基本没有错别字,标点和缩进基本正确。

PDF最大优势在于全平台通用,相比TXT,MOBI、EPUB和PDF功能更加丰富:目录导航,超链接,图片,排版等等。

这些功能都是必须的,不然写个爬虫合成TXT就行了……所以

解决方案

  1. 提取标题、作者、发表时间、正文。
  2. 分类和排序。
  3. 找个靠谱的、现成的制作工具,把数据填进去。
  4. 校对。

详细过程

最近都在和正则打交道,没有担心数据提取难度,直接来到第三步,开始Google,找到了不少方法和软件,它们的缺点如下——

  • Sigil:没有选中文字插入链接的快捷键,粘贴出来一大堆HTML代码(还带CSS),粘贴纯文本又会丢失格式,简而言之就是手动操作太多;
  • ePubBuilder:名声很响,安装完打开时提示“您下载的不是最新版本,请到主页下载”,删之;
  • Calibre:Word生成目录 / 正则编辑器为章节添加<h2>等代码,导出为HTML后用Calibre转换。是个好思路,把内容标准化,用现成工具制作,可原文中排版用的HTML无法处理;
  • Wiznote:多年前用过,印象不好;

最终灵光一现想起Gitbook,在线阅读时有目录导航、支持排版、支持超链接和图片,到官网看了一圈,发现不光能生成网站,还可以自动导出PDF、MOBI和EPUB。(导出完才发现PDF目录乱码和丢失章节,MOBI、EPUB都需要一个不知道尺寸的Cover Image,开头都没有目录。)

Gitbook Editor for Windows目前对中文支持很差,所以先关闭Auto File Management,新建Article后点一下Save As之后再进行编辑;或者简单一些,直接修改SUMMARY.MD创建目录。

如你所见,MD后缀的意思,就是Gitbook要求源文件采用Markdown语法。

说到Markdown,曾经有个人告诉我,她学了Markdown之后手写笔记都情不自禁用它,当时我不知道这玩意儿是什么,就单纯地觉得很厉害。直到自己接触,才明白为什么她是个锤粉——这玩意儿不导出成可用格式有何意义……

好在HTML和Markdown可以互转(在手动排了好几篇、熟悉了语法后才去找这东西),在线工具转不了的,用Sublime也都能完美处理。

半自动把文章处理成MD文件,放入Gitbook书籍所在目录后,回到Gitbook程序中,手动制作目录。

SUMMARY.MD就是整个电子书的目录,格式简单粗暴:大标题、章节、子章节,后面括号里是对应文件名。

直到电子书发布,我都不知道章节和子章节是不是用Tab来区分,总之先在Gitbook中做出个子章节来,再沿用格式写下去,别要用中文文件名,就不会出错。

END

这一次文章少,以后文章多起来必然要自动化大部分工作。

做完后反馈战果,才发现有个大误会,其实这玩意儿是用于内部分享,只需要做出一个目录就行:带超链接标题+摘要[+配图,可选]。

(╯’ – ‘)╯┻━┻