在纷繁琳琅的消费类电子设备中,Kindle 无法成为像 iPhone、iPad 一样流行的设备,毕竟认知并习惯于 E-ink 阅读的群体是非常有限的,但 Kindle 无疑已经成为这个市场上难以撼动的力量——除了在 Kindle 产品上一直坚守的沉浸式阅读体验,但是有些书在Kindle商城上没有,那该怎么办?下面就让我们一起来看看如何制作Kindle mobi书籍的。
需要使用的软件:
1. Calibre
2. GIDOT TYPESETTER
不论原文件是什么格式,epub神马的,都先在Calibre里一律转成txt
把文件拷到GIDOT TYPESETTER里去,做一些清理工作,如去除(添加)段落之间的空行,首行缩进等等
然后我们在txt里对预处理好的文件进行精加工,因为Kindle本身的翻页很麻烦,所以我希望我的书能够自带目录,所以我们要在txt当中加入标记,让calibre在转换的过程当中遇到相应标记时自动生成toc。
Calibre支持txt中的markdown ( 什么是markdown,请自己google)语法标记。简单来说calibre可以生成三级目录,每一级目录标记可以使用html当中 h1,h2,h3....等等。而使用markdown语法在txt格式当中进行html标识时,每一行开头以# (#空格)对应h1, ## (##空格)对应h2,以此类推。
ok,我们现在就需要在每一章标题前面加入#或者##,在txt当中按ctrl+h,
在寻找栏中填入\s\s第(一|二|三|四|五|六|七|八|九|十|百|[0-9])+(章)\s+.*,这是正则表达式的语法,\s表示空格, \s\s表示两个空格, (一|二|三|四|五|六|七|八|九|十|百|[0-9]),表示在第和章之间只要符合(一|二|三|四|五|六|七|八|九|十|百|[0-9])里面任一个字符即可,.*表示任意字符,所以\s\s第(一|二|三|四|五|六|七|八|九|十|百|[0-9])+(章)\s+.*表示只要以两个空格开始的第(*)章后面跟空格的任意文字串
在替换栏中输入##\0, ##是h2的表示, \0表示寻找到符合正则表达式的字符串。点击replace all,所有章节名前面都加入了##标记。
但如果你的书比较奇葩,要因地制宜得变通,甚至存在手动输入的可能性。
下一步保存为UTF-8格式即可。
然后把txt的书拷到Calibre里面去,点击转换书籍,记得选择输出格式为mobi。
首先是书籍的基本信息,封面,作者,出版社什么的,到豆瓣里找就可以了。
如果有需要,就在外观里面选择“删除段间空行”就可以。
外观设置里,输出配置文件选择Kindle。
内容目录,因为这次我们处理的文件只有一层目录,而且以## (h2)来进行标识,我们在level 1 toc里面填入//h:h2,如果有两层目录的话,那么就在level2 里面填入对应的//h:h1, //h:h3之类的tag。
Mobi输出,title for table of content写成目录什么的,然后可以选择目录的位置。
点击确定就可以了。如果喜欢目录居中,那么在外观里面的额外css格式当中加入h2 {text-align: center; font-size: large; padding-bottom: 20pt;}
最后把书传到你的Kindle里就大功告成了。