查看: 2434|回复: 40

[教程] 10 秒生成一本网文 EPUB——Sigil+【分章助手】插件使用流程

  [复制链接]

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44294
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1537 小时
发表于 2023-12-20 13:01 | 显示全部楼层 |阅读模式
本帖最后由 edennow 于 2024-2-19 15:33 编辑

目前 EPUB 原创自制区的置顶帖中,有航星大佬分享的多看版 EPUB 制作工具,是用 emeditor 脚本实现的:传送门

不过个人更习惯通过 sigil 的【分章助手】插件来将网文的 txt 文本转换为 epub,因此也分享一下该插件的一些使用流程。

该插件是由百度贴吧 sigil 吧吧主遥遥心航制作,如果之前有用这个插件,可以不需要重新下载



先将接下来用到的三个附件列出来,可以先下载好:




sigil 本体推荐使用 sigil 吧主制作的魔改版,效率应该提升了不少。
下载地址:https://gitee.com/ichigo250/sigil-modified/releases

下载解压安装这些就不用说了,安装完成后,打开 sigil,打开插件管理,点击添加插件:

选中上面下载的附件“SplitChapter_v2.8.0_分章助手.zip”压缩包,进行导入(右上角有个“使用捆绑的 python”,应该要勾上,我本地有装 python,就不用勾了)。

分章助手原帖教程:https://tieba.baidu.com/p/8090340277,写得很详细了。



我以上面下载的“示例模板.zip”附件为例说一下简单使用流程,其他细节可以在原帖细看。

解压“示例模板.zip”,可见如下两个文件:

  • 我是书名.epub
  • 测试用文本.txt

使用 Sigil 打开“我是书名.epub”(左上角“文件”->“打开”或按 ctrl+o 快捷键),应该看到是这样的:

该文件只是一个模板/脚手架,只有最基础的样式表、导入的两个字体和几个示例页面,左上角的 Text 中可以看到是没有文本内容的。

这时点击“插件”->“编辑”->“SplitChapter”,应该会调出如下弹窗(如果调不出来,说明你用的 python 有问题):


点击右边的“打开”,选中“测试用文本.txt”,点击自动分析,可见自动匹配了如下几条正则:

这是因为在“测试用文本.txt”中的内容,是按照本论坛的 txt 校对上传区规范进行了排版的,为了演示稍微复杂一点的结构,里面的章节层次是:“部->卷->章”三级,会和分章助手中的预置正则自动匹配上。

然后点击一下预览,可以看到预计要拆分出来的页面结果:

这个列表有点奇怪吧,为什么没有按照“部->卷->章”的层次进行包含折叠?

这是因为上面点击预览的时候,左边的三个标题都是处于“3级标题”级别,sigil 本身也是推荐使用 h1-h6 的标题标签来区分不同层次的标题,因此需要给“部->卷->章”设置不同的标题级别(点击那些上下箭头进行调整):


“部”在最外层,故选最高级别 h1(1 级标题,当然,因为多看不支持三级目录折叠,你选择和卷相同的 h2 级别也可以,这里选 h1 只是方便演示);“卷”其次,选 h2(2 级标题);“章”选最小的 h3(3  级标题),这样会形成“h1>h2>h3”的包含关系,再点击一下预览:

OK,页面层次应该正常了(这个图中的“部”层次好像有点不对……但是实际是没问题的,生成的页面和目录也是正常的)。

注意一下,这里上面有一个“断序检查”的按钮,默认是 OFF 的,可以点击一下把它开启,能非常方便地检查是否有因为漏章,而导致序号不连续的问题,若有出错会标红,这时去 txt 文件中将相应的错误修正后,再回到分章助手插件重新导入一遍即可。

另外说明一下,一般的网文可能不存在三层标题结构,如果只有“卷->章”两级,只需把“卷”设置成 h2 级别,“章”设置为 h3 级别即可,会自动形成“h2>h3”的包含关系,使用分章助手的这一个步骤是关键,一定要保证章节的层次设定是正确的,也可以通过预览,检查有没有错漏章节的情况出现。

点击“执行”后,就会自动将 txt 拆分成不同章节的 html 页面了,然后在顶部菜单的“工具->目录->生成目录”中点击一下确定,就能生成对应的目录了:




上面已经将分章助手的基本使用流程说完了,核心其实就是
->打开 txt
->点击【自动分析】,调出匹配的标题正则
->设定章节标题层次(如果只有“章”一级标题,甚至不用设定)
->一键执行分章(不要忘记分完章后,点击顶部菜单的“工具->目录->生成目录”,生成相应目录

下面看一下分章出来的页面效果:
这是 h1 级别的页面(部或者书级别)


这是 h2 级别的页面(卷级别)


这是 h3 级别的页面(章级别)


要想从分章完毕后的光秃秃的  <h1>xxx</h1> <h2>xxx</h2> <h3>xxx</h3>,变成上图带有各种 class 类名和头图、分行等等效果的标题结构,推荐通过 Sigil 自带的顶部菜单中的“工具->搜索模板”实现结构替换(考虑了一下,要是用我自己写的 template_config.txt 方式来处理,对普通用户来说还是有些徒增复杂度了,不如直接用搜索模板好了):

在这里右键导入上面第三个附件【标题替换搜索模板】解压之后的【标题替换.ini】,然后选中“标题替换”整个分组,点击右边的“替换所有”,即可整理标题结构,自动套上上面的各种样式效果。

展开这个标题替换的分组看一下,其实也就是三条针对 h1 h2 h3 标题搜索替换的正则:


如果你知道怎么写正则(在这里可以稍微了解一下 正则表达式介绍),还可以在搜索模板中写一些用于“引言”“诗歌”“书信”“署名”之类的转换规则,比如论坛里【阳方十月】经常在文本里加的一些标记,后续只需调用搜索模板,就可以自动套上 <div class="quote">xxx</div> 之类的结构。

不过要注意的是,新增条目的时候,需要在第四列的“控制”这里双击一下,按如下配置,主要是要切换成“正则表达式”和勾选“循环匹配”(或者直接复制之前的条目来改也可以):


你也可以制作多个和“我是书名.epub”类似的空模板(或者说脚手架),然后写不同的【搜索模板】,在分章完毕后,调用搜索模板实现各种样式结构的自动调整,达成多次复用的目的。

特别是如果你做的是非完本的 epub,通过写【搜索模板】的配置,可以在更新后续章节文本的时候,调用搜索模板自动生成相应的页面结构,不用每次更新都手动给新页面的标题做重复插头图、写类名等等的操作。

另外,建议养成常常使用右键菜单中的“HTML重新格式化->对 所有HTML 执行纠错并统一代码风格”的习惯,有助于维持代码格式整齐,便于阅读和修改,也能让搜索模板每次执行时,都能尽量达到一致的效果,不会因为某些代码的缩进和换行等差异,导致搜索模板中的正则无法进行匹配和替换。

基本只要你的 txt 文本结构正确(参考 正则表达式介绍 最后部分,进行 txt 排版)、【搜索模板】中的正则规范有效,想要生成带样式和结构的 epub,应该不会超过半分钟。



一些其他的 txt 转 epub 方式进行比较:

  • 手动插入分割标记,利用 sigil 统一进行页面分割:每次都要手动插入标记,效率不是很高。
  • 利用 calibre 进行 txt -> epub 的格式转换:实在是太慢了。个人的电脑配置不算很低,但是依然无法接受这个速度,很多时候就是几百章的文本而已,都要转十分钟以上,哪怕自己写脚本处理都比这个速度快得多。
  • 通过 easypub、epubbuilder、emeditor 宏等方式进行一站式转换:其实是很方便的,但个人认为“分章”这个动作在生成 epub 的过程中算是比较敏感的(很有可能出错或者漏转),通过分章助手这个插件来单独进行分章处理,可以比较好地控制这个步骤。利用自带的“断序检查”功能可以方便地进行分章查错,多种分章正则的自定义和自动调用也提供了较强的灵活性。



顺便说明一下“我是书名.epub”这个空模板的一些文件信息,供想直接套用的人参考,如果你有自己的模板,就不用看下面了。


还有 cover.jpg 是封面(针对全面屏还要自己加 cover~slim.jpg),
v-title.ttf 是给书、卷级标题用的字体,c-title.ttf 是给章级标题用的字体。

这个模板差不多也是符合多看排版规范的,设置了全屏封面、多字体嵌入之类的,你可以在每次生成 epub 的时候自己换一下这些图和字体,把 making.xhtml、preface.xhtml、content.opf 三个文件中的书名作者名换一下,就差不多可以了,如有能力也可自己改 css 样式表定制样式(比如加上半锁字体之类的我基本没采用过的设置)。

另外,最好在收尾阶段做一下字体子集化,可显著减小字体体积:传送门



就个人来说,找素材和处理图片是最难办的,如果能在转换 epub 的时候稍微省一点工夫,也能减轻一点负担……

封面设计素材网站分享:
https://www.canva.cn/book-cover/
最近发现这个网站暂时来说是挺好用的,建议去注册登录一下账号,里面的免费书籍封面模板(甚至有很多蛮合适的国风模板),基本已经满足我这种用起 ps 来又菜又懒的人的最低需求了。

字体资源网站(免登录):
https://ztxz.org.cn/
https://freefonts.top/

在线图片超分辨率:
https://www.iloveimg.com/zh-cn/upscale-image
https://www.upscale.media/zh/upload
用于把低分辨率的老封面、小图片等等,通过 ai 算法进行质量和分辨率提升(x2 x4 倍),上面两个网站每天大概只能转一两张吧,不频繁转的话也够用了。

在线图片压缩:
https://www.iloveimg.com/zh-cn/compress-image
支持批处理,免费用户一次最多批量处理 20 张,这个不知道它具体是用什么实现的,好像比个人用的一些压缩工具要好,压缩出来的体积经常都能减小一半以上,而且如果要求不高的话,画质的损失应该也在可接受范围内,不是很容易察觉。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

点评

epub最烦,最难的感觉就是素材,图片这些。找这些太费时间了  发表于 2023-12-20 19:11

评分

参与人数 3威望 +20 铜币 +15 收起 理由
dot + 5 论坛有您更精彩!
李九成 + 10 论坛有您更精彩!
chenvenvei + 20 授人以渔

查看全部评分

回复

使用道具 举报

25

听众

0

收听

6

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
32446
积分
2754
回帖
2088
主题
44
铜币
14441
威望
1684
银币
0
贡献
0
发书数
35
注册时间
2016-3-27
最后登录
2024-4-28
在线时间
747 小时

发书系列:乐于分享发主题系列:闻鸡起舞

发表于 2023-12-20 13:31 | 显示全部楼层
感谢大佬的热心分享工具和教程
我们的存在是真实的,但我们所创造和想象的,比我们的存在更真实。
回复 支持 反对

使用道具 举报

36

听众

0

收听

2

好友

翰林

Rank: 9Rank: 9Rank: 9

UID
225
积分
16515
回帖
5138
主题
23
铜币
55771
威望
13934
银币
26
贡献
0
发书数
3
注册时间
2015-5-6
最后登录
2024-4-28
在线时间
3986 小时

年度活动达人

发表于 2023-12-20 13:37 | 显示全部楼层
本帖最后由 chetiayi 于 2023-12-20 17:38 编辑

这个可以有,又学到点东西。
sigil里面的搜索模板是不是可以实现类似的功能,稍微麻烦点。
回复 支持 反对

使用道具 举报

4

听众

0

收听

0

好友

秀才

Rank: 5Rank: 5

UID
150225
积分
544
回帖
1083
主题
1
铜币
53
威望
2
银币
0
贡献
0
发书数
0
注册时间
2023-2-16
最后登录
2024-4-28
在线时间
376 小时
发表于 2023-12-20 17:20 | 显示全部楼层
素材:《浪子修仙》!!!
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44294
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1537 小时
 楼主| 发表于 2023-12-20 18:08 | 显示全部楼层
chetiayi 发表于 2023-12-20 13:37
这个可以有,又学到点东西。
sigil里面的搜索模板是不是可以实现类似的功能,稍微麻烦点。

看了下用那个模板确实也可以,也就是需要额外自己手动加载一下罢了。
回复 支持 反对

使用道具 举报

3

听众

0

收听

0

好友

儒士

Rank: 4

UID
153225
积分
346
回帖
362
主题
5
铜币
431
威望
162
银币
0
贡献
0
发书数
0
注册时间
2023-5-7
最后登录
2024-4-28
在线时间
164 小时
发表于 2023-12-21 18:22 | 显示全部楼层
感谢老哥的教程 。
回复 支持 反对

使用道具 举报

10

听众

8

收听

19

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
158757
积分
2307
回帖
1832
主题
40
铜币
24977
威望
1367
银币
0
贡献
0
发书数
39
注册时间
2023-8-12
最后登录
2024-4-28
在线时间
551 小时

原创或校书系列:入门发书系列:乐于分享

发表于 2023-12-28 16:55 | 显示全部楼层
本帖最后由 青衫御剑等风来 于 2023-12-28 17:13 编辑

这时点击“插件”->“编辑”->“SplitChapter”,应该会调出如下弹窗(如果调不出来,说明你用的 python 有问题):
大佬,我显示运行失败,需要下载什python才能运行?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
[发帖际遇]: 青衫剑客 参与菠菜鼓励消费,奖励 2 铜币. 幸运榜 / 衰神榜
放弃一切,方得自由。
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44294
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1537 小时
 楼主| 发表于 2023-12-28 18:45 | 显示全部楼层
青衫御剑等风来 发表于 2023-12-28 16:55
这时点击“插件”->“编辑”->“SplitChapter”,应该会调出如下弹窗(如果调不出来,说明你用的 python 有 ...



你应该用的是帖子说的“魔改版” Sigil 吧?
如果是的话,插件管理右上角这个使用绑定的 python 要勾选一下。
如果没有用魔改版 sigil,那你估计要另外装 python 了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

10

听众

8

收听

19

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
158757
积分
2307
回帖
1832
主题
40
铜币
24977
威望
1367
银币
0
贡献
0
发书数
39
注册时间
2023-8-12
最后登录
2024-4-28
在线时间
551 小时

原创或校书系列:入门发书系列:乐于分享

发表于 2023-12-28 19:21 | 显示全部楼层
本帖最后由 青衫御剑等风来 于 2023-12-28 19:23 编辑
edennow 发表于 2023-12-28 18:45
你应该用的是帖子说的“魔改版” Sigil 吧?
如果是的话,插件管理右上角这个使用绑定的 python 要 ...

好的,只能下载Python了,谢谢大佬,随便下个python3.4以上版本就行是吧
放弃一切,方得自由。
回复 支持 反对

使用道具 举报

15

听众

0

收听

13

好友

贡士

Rank: 7Rank: 7Rank: 7

UID
155378
积分
2986
回帖
1024
主题
67
铜币
44294
威望
2435
银币
0
贡献
0
发书数
57
注册时间
2023-6-14
最后登录
2024-4-28
在线时间
1537 小时
 楼主| 发表于 2023-12-28 19:38 | 显示全部楼层
青衫御剑等风来 发表于 2023-12-28 19:21
好的,只能下载Python了,谢谢大佬,随便下个python3.4以上版本就行是吧

只要比较新的版本就可以吧,如果你确定自己装,安装的过程中很多 add to path 什么的选项能勾的都应该勾上。

得记得在插件管理那里指定一下 python 的路径,而且要自己装一下 pyQt5(还是它会自动装?忘了……)。

如果它没自动装 pyqt 的话,装完 python 之后,命令行执行一下:
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple/
[发帖际遇]: edennow 收留了一只流浪猫,奖励 4 铜币. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|阡陌居

GMT+8, 2024-4-28 16:09 , Processed in 0.043842 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表