有没有办法将AsciiDoctor Maven插件配置为从.adoc个文件中生成一个PDF文件?

目前,它只是将asciidoc文件的 struct 转换成相同的 struct ,但使用的是PDF.我希望有一个单一的文件,当我点击链接时,它会将我移动到同一PDF中的目标位置.使用Maven插件可以做到这一点吗?

我目前的pom.xml:

...
<plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>2.2.2</version>
    <dependencies>
        <dependency>
            <groupId>org.asciidoctor</groupId>
            <artifactId>asciidoctorj-pdf</artifactId>
            <version>2.1.4</version>
        </dependency>
    </dependencies>
    <configuration>
        <sourceDirectory>documentation</sourceDirectory>
        <outputDirectory>target/pdf-doc</outputDirectory>
        <backend>pdf</backend>
        <preserveDirectories>true</preserveDirectories>
    </configuration>
    <executions>
        <execution>
            <id>generate-pdf-doc</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>process-asciidoc</goal>
            </goals>
            <configuration>
                <backend>pdf</backend>
                <attributes>
                    <source-highlighter>rouge</source-highlighter>
                    <icons>font</icons>
                    <pagenums/>
                    <toc/>
                    <idprefix/>
                    <idseparator>-</idseparator>
                </attributes>
            </configuration>
        </execution>
    </executions>
</plugin>
...

推荐答案

您需要将单个文章聚合为单个文章,如下所示:

:toc: macro
:toclevels: 3
:toc-title: Contents
:doctype: book
:chapter-label:

toc::[]

:doctype: book

include::article1.adoc[]

include::article2.adoc[]

...

并设置maven插件来编译单个ADOc:

<configuration>
   <sourceDocumentName>single.adoc</sourceDocumentName>
</configuration>

似乎Q值更多的是asciidoc,而不是maven

我认为为了支持文档链接,我们需要创建具有唯一名称的锚,类似于:

建筑-工具.adoc:

[#building_tool]
= Building tool

== Status
Accepted

(左手掌声)

[#cloud]
= Cloud

== Status
Accepted

Adr-log.adoc:

| 08/07/2022
| xref:adr/building-tool.adoc#building_tool[Building tool]
| Accepted

| 08/07/2022
| xref:adr/cloud.adoc#cloud[Cloud]
| Accepted

Java相关问答推荐

如何在Java中对自定义协议进行主机名验证?

使用json参数通过单击jSP文件中的按钮来运行server时出现问题

将具有多个未知字段的SON映射到Java POJO

如何审查Java dtos中的自定义注释字段?

Select 按位运算序列

为什么我的ArrayList索引的索引总是返回-1?

通过合并Akka Streams中的多个慢源保持订购

Spring Boot 3.2.2中的@Inject和@Resource Remove

是否在允许数组元素为空时阻止 idea 为空性警告?

将关键字与正文中的_Allowed匹配,但带有__Signing可选后缀

如何使用值中包含与号的查询参数创建一个java.net.URI

在Spring Boot中使用哪个Java类来存储创建时间戳?

当Volatile关键字真的是必要的时候?

如何对多个字段进行分组和排序?

Arrays.hashcode(int[])为不同的元素提供相同的散列

Java连接池无法正常工作

在Java中将.GRF转换为图像文件

Maven-Dependency-Plugin 3.6.+开始查找在依赖关系:分析目标期间找到的新的使用的未声明依赖关系

如何修复Spring Boot应用程序中的RestDocumentationGenerationException:java.io.FileNotFoundException:/curl-request.adoc(只读文件系统)?

当我将JTextField的getText函数与相等的String进行比较时;t返回true