一本小说放入一个文件夹处理。文件夹有以下内容:
- *.atxt / *.txt / *.xhtml 文本文件。主要内容物。具体格式见下文。
- Images 文件夹
- cover.jpg 必须。
- *.jpg / *.png 其他图片资源
- toc.txt 必须。目录。
- meta.txt 或 meta3.txt 必须。EPUB 元数据。请优先使用 meta3.txt。
- style.css 可选。定义样式。
- macros.txt 可选。自定义宏。
- web_images.txt 或 web_images.md 可选。用于在部分输出中将图片引用替换为外部图片链接。
- config.txt 项目设置
- patch_t2s 文件夹。可选。用于繁体转换的特殊规则(此功能年久失修)。
- Images 文件夹。可选。内容为替换用的图片。
- patch.csv 可选。内容为特殊情况的替换文本。
文件名必须以两位数字开头,作为文件的顺序索引。数字后面如果有文本,将作为章节标题。章节特殊字符可以用 URL 转码表示。需要注意 toc.txt 的章节标题定义优先级更高。
文件拓展名是.atxt
或.txt
时,实际内容没有差别。 VSCode 插件识别文档格式需要个拓展名,就随便改了个.atxt
。
内容的具体格式可以参考 ATXT 格式解释。
文件拓展名是.xhtml
时,此文件用于直接放入 EPUB,不会做任何处理。仅供骚操作使用,需要了解本工具和 EPUB 的原理。
标题为info
的文档可以在生成 EPUB 时自动加入生成信息、日期。每行包含靠前的冒号时添加atxt_keyvalue
类。
标题为info
或EOB
的文档内容会自动被atxt_info
类包裹,默认效果是字体变小、无段首缩进。
标题以SVG
开头的文档会被标记为 SVG,用于堵 epub-check 的警告。
该文件将会用于生成 EPUB 的目录。一行一个目录项,使用两位数字即可表示链接目标。
如果数字后面跟着文本,该文本会称为此章节的标题,在目录中显示。
需要层级表示时,以[名称]章节索引
为标题开始添加子层级项目。比如[正文]10
;以[/]
单独一行返回上一级。/
后面写点别的也不影响,比如[/正文]
便于编辑。
对应 EPUB 中 .OPF 文件对应的 metadata 标签内容(包括该标签)。meta.txt 对应 EPUB2.0,meta3.txt 对应 EPUB3.0。请使用meta3.txt。现在已经不对旧版做维护。
提供了一些模板,生成时替换成对应的内容。
{urn:uuid}
生成一个uuid{date}
生成标准格式的日期
使用正则表达式定义宏。一行定义一条规则,分别写搜索模式、用于 EPUB 的替换、用于 bbcode 的替换(可选)、用于 inlinehtml 的替换(可选),使用 tab 隔开。可选项缺失时将使用用于 EPUB 的替换。
直接使用 C# 自带的正则引擎,具体写法请参考微软的文档。
宏处理先于正常规则运行。可以在宏处理中使用正常规则。比如:
小标题:(.*) #center:[b]$1[/b]
这样可以不专门写后面的两种替换。
另外注意不要写出死循环。
项目:值
一行一个。
布尔值支持写成yes
/no
1
/0
等等。想起来再补。
目前的设置项目:
join
字符串值。内容为一条命令。可以设置多次。该合并是输出功能的预处理,不会合并源文件。例如join:11-15chapter4
表示将 11 至 15 号文件的内容合并,设置标题为"chapter4"。join_blank_line
整数值。合并时的添加的空行数。indent_adjust
布尔值。是否对于以「『
等字符开头的行进行行首缩进调整。默认开启。add_info
布尔值。是否尝试对标题为info
的文档添加生成时间等信息。默认开启。auto_space
布尔值。是否开启 Auto Space。默认关闭。inlinehtml_wrapper_style
字符串值。inlinehtml 输出会有个 div 包裹所有内容,可以用这个设置替换那个 div 默认的style
值。