1.4
Q:我希望能够批量为我的epub生成目录。
A:有两种方法,一种是用Calibre转换时,在目录选项中填写对应的正则表达式。但是如果你不希望被Calibre的转换污染原EPUB的结构,k可以试试下面的第二种方法,先通过正则表达式函数替换功能将符合特征的<p>第一章:xxxx</p>转换为<h3>第一章:xxxx</h3>,然后再使用目录嗅探功能自动生成。




代码(注意缩进):
def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, **kwargs):
text = match.group()
new_text = text.replace("<p>", "<h3>").replace("</p>", "</h3>")
return new_text
解析:
match.group() 是【查找】捕获的文本内容
return 返回内容被用来替换原先被捕获的内容
然后使用目录生成功能:
在目录窗口对这随便一个元素右键,编辑目录


当然你也可以通过不同的组合来生成一级二级三级目录