制作自己的 Kindle 电子书

本文介绍了如何在mac os x环境下使用正则表达式和calibre软件,将txt格式的书籍内容转换为带有章节结构的mobi电子书。通过VS Code进行正则匹配编辑源文件,然后在calibre中调整元数据和样式,最终生成适用于Kindle阅读的mobi文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想象以下场景:你刚收到一台新的 Kindle Paperwhite,心中已然响起了轰轰烈烈的 “我今年(或这个冬天)一定要阅读 100 本书!”。结果发现,想看的书 Amazon 上找不到,或者排版很糟糕。

如何解决?自己动手做呗!

准备工作

我使用的是 macOS,因此本教程应该可以在 *nix 系统上完美复现。理论上移植到 Windows 也应该是无痛的。

首先,显然,我们需要源文件(通常是 .txt 格式),对于软件,需要安装 calibre。尽管我相信 calibre 很可能早就装好在你电脑上了吧~

在编辑源文件时,我通常使用 VS Code,因为它支持正则表达式搜索。 Sublime Text 也支持这一点,所以如果习惯的话也可以用它。

简单场景

本教程的精髓就是通过正则匹配为 txt 文件中的章节名称加入 markdown 样式的 header 标记(即’#‘, ’##‘, etc.)。这样在 calibre 转换 txt 为 mobi 时它就可以识别并自动按照 markdown header 划分整体的 txt 文件为 mobi 中的各个章节。

VS Code 如何进行正则匹配搜索可以看微软的这篇教程:here

简单粗暴,直接上我常用的正则匹配:

  • 第(.*)卷\s -> ##第$1卷
  • 第(.*)章\s -> ###第$1章

有时候小说结尾还有后记,这个就匹配不到了,所以我一般还会再拉到结尾去检查一下,看小说作者在结尾还写了什么番外或者后记然后手动为其添加 markdown 标记。Copyright © https://blog.youkuaiyun.com/s_gy_zetrov. All Rights Reserved

修改后效果如下:
请添加图片描述
在这里插入图片描述

再例如,我有一个示例文件,其章节名称如下所示,第一行为课程编号,第二行为英文,第三行为中文:

在这里插入图片描述

则我们可以使用如下的正则去匹配它:

^(\s+|)lesson(\s+)(\d+)(\s+|\n)(.*)(\s+|\n)(\s+)(.*)(\s+|\n)

其中,

  • ^(\s+|) - any space/tab before word ‘lesson’
  • (\s+) - any space between ‘lesson’ and lesson number
  • (\d+) - lesson number
  • (\s+|\n) - match any space or hard
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值