如何阻止Pandoc将元数据标题作为h1元素插入epub正文内容
问题原因
Pandoc生成epub这类独立文档格式时,默认会将元数据中定义的书籍标题自动作为一级标题插入到正文内容的最开头,这是造成额外多出h1元素、目录多一条记录的根本原因,该行为和是否显式定义了标题页无关。
解决方法
有两种简单的方案可以关闭这个默认行为:
方案1:修改元数据文件
直接在你的epub.yml中新增suppress-title配置项即可:
--- title: - type: main text: A Book creator: - role: author text: Some Dude suppress-title: true ---
修改后原有转换命令不需要做任何调整,重新生成的epub就不会再出现额外的标题元素。
方案2:调整转换命令
如果不想修改元数据文件,可以直接在运行pandoc命令时通过参数临时注入这个配置,修改后的命令如下:
pandoc -o output.epub epub.yml --toc -M suppress-title=true src/*
两种方案的效果完全一致:既会保留原有的正常标题页,也会删除正文开头多余的h1元素,同时目录中也不会再出现多余的书籍标题条目,所有原本自定义的字体、CSS配置都不会受到影响。
注:
suppress-title配置在Pandoc 2.8及以上版本都支持,如果你使用的是更早的旧版本,升级Pandoc即可正常使用该配置。
内容的提问来源于stack exchange,提问作者GradysGhost
相关产品推荐
相关产品推荐

