Maven Asciidoctor插件和外部图像目录

时间:2018-09-07 15:22:58

标签: maven asciidoc asciidoctor

我们具有用于构建一些AsciiDoc文档的单一来源结构。一些版本将Maven与AsciiDoctor插件一起使用;这是开发人员的要求。

但是我们需要一个共享的图像目录(另一个版本的要求)。而且我们不想在存储库中使用符号链接,以便人们可以在Windows上进行本地构建。

我们现在要做的方法是指向pom.xml中asciidoctor插件配置中的imagesdir:

  <plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <configuration>
      <imagesDir>${project.basedir}/../../_images</imagesDir>
    </configuration>
  </plugin>

尽管该版本有效,但无法将图像复制到target/generated-docs中。而是在现有位置引用图像。

如何使Maven构建正确地复制这些图像,并将HTML文件中的引用复制到generate-docs内部的副本中?我当然可以编写一个后处理脚本,但是在Maven中必须有某种方法可以做到这一点。..

1 个答案:

答案 0 :(得分:0)

您可以使用资源插件复制所有图像。将此添加到您的版本:

    <build>
        <resources>
            <resource>
                <directory>src/main/asciidoc/images</directory>
                <targetPath>../generated-docs/images</targetPath>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

请相应地调整文件夹名称。将filtering设置为false,因为图像是二进制文件,并且您不希望Maven在此处进行替换。

根据您的设置,您可能不再需要imagesDir。 imagesDir将仅指定图像相对于创建的HTML文件的位置。因此,它应该始终是一个相对URL。您的示例将包含一个绝对URL。