Asciidoctor能否为每个章节渲染单独的HTML页面?

8
如果我有以下这样的东西:
The Manual
====================
Gregg Bolinger
v1.0, 2014-15
:doctype: book
:icons: font
:imagesdir: images

Preamble paragraph

include::chapter1.ad[]

include::chapter2.ad[]

我希望每章都可以以自己的HTML文件呈现,并从目录中链接到它,而不是所有内容都在一个单独的book.html文件中。例如,似乎已经生成了单独的文件,但这只是因为它们在源目录中。它仍然将所有内容合并到单个HTML页面中。如果需要知道,我正在使用Gradle Asciidoctor插件。
3个回答

3

除非Gradle插件中有处理分块HTML的功能,否则asciidoctor目前无法处理分块输出。它在任务列表中,但尚未完成。然而,如果您查看该问题,某人已经创建了一个自定义脚本/转换器来处理它,也许对于您的情况也可以起作用。


到目前为止,本地多页HTML输出似乎没有任何进展。我对Ruby的经验不足以使该脚本正常工作。一个明确的例子会对我有很大帮助。 - thoni56
如果您更喜欢Java环境,请使用asciidoctorj,它将所有的Ruby内容封装在Java层中。我个人没有一个扩展程序可以执行分块HTML的示例。 - LightGuard

0

使用asciidoctor-multipage扩展,每个章节都可以渲染成自己的HTML文件。目录中的链接指向各自的HTML章节,而不是所有内容都在一个单独的book.html文件中。在每个HTML页面的末尾,该扩展还会添加到下一页或上一页的链接,如this website所示。

假设您已经安装了asciidoctor,只需在命令行中输入$ gem install asciidoctor-multipage来安装多页扩展。

在制作了包含各个章节的file-name.adoc文件后,$ cd 进入该文件夹,然后执行$ asciidoctor -r asciidoctor-multipage -b multipage_html5 -D test/out --backend multipage_html5 -a data-uri file-name.adoc命令。此命令将把file-name.adoc中的任何图像嵌入到新创建的test/out文件夹中保存的新的.html文件中。我只在Ubuntu 20.04上进行了测试。


0
如同Sam Macharia所回答的, asciidoctor-multipage可以实现你的目标。
此外,大多数Docbook工具链都可以让你控制内容如何被“切块”成HTML页面,包括书籍、章节和部分层次。 Antora是实现你目标的“官方”方式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接