Pandoc noob,我在将目录转换为 HTML 输出时遇到问题。
我的输入是 .epub 文件。
我添加了
--toc
标志和 --standalone
。我的标题模板还包含一个 $toc$
块。
html 输出文件确实有正确的 html 标题(h1、h2 等),所以我知道结构就在那里。
但是输出的 HTML 文件中没有出现 TOC。我怎样才能让它出现?或者,这在 .epub 文件中的 Pandoc 中是不可能的吗?
编辑以在评论中添加每个请求的详细信息。
我的
header.html
很简单:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
</head>
<style>
img {
max-width: 100%;
height: auto;
}
body {
font-family: sans-serif;
}
</style>
<body>
<div>$table-of-contents$</div>
<div>$body$</div>
</body>
</html>
第一个空的
div
(模板中的 $toc$
)出现在 HTML 输出中,但是是空的。
输出本身是正常的,包含的CSS可以工作,但它只是缺少任何目录。
我这样称呼它:
pandoc --standalone input.epub -o output.html --extract-media=. --template=header.html --toc
即使我使用带有
--toc
的默认 html pandoc 模板,也不会显示任何目录。但当使用 Latex 将相同的 .epub 转换为 pdf 时,它确实通过 --toc
命令完成了。
我遇到了同样的问题,无论我如何摆弄它,我都无法让 pandoc 包含目录。和你一样,模板中 $toc$ 应该所在的元素返回为空。
然而,Calibre 是一个很棒的东西。它将您的 epub 转换为 htmlz,这只不过是一个包含 html 文件 (index.html) 和一个包含图像的文件夹的 zip 文件。您还可以获得一个 css 文件和封面图像。 Calibre 确实在 html 文件中包含了目录。只需解压 htmlz 即可 - 您想要的一切。
唯一的问题是 Calibre 没有在 index.html 文件中添加封面。但是您可以轻松添加一个 img 标签作为其中的第一个语句,并且如果您想要的话,您就有了封面。
这是我发现的将 epub 转换为 html 文件的最简单方法。