【问题标题】:Maven Asciidoctor plugin and external images directoryMaven Asciidoctor 插件和外部图像目录
【发布时间】:2019-07-29 04:43:55
【问题描述】:

我们有一个单一来源的结构来构建一些 AsciiDoc 文档。一些构建使用带有 AsciiDoctor 插件的 Maven;这是开发团队的要求。

但我们需要一个共享图像目录(来自另一个构建的要求)。而且我们不想在存储库中使用符号链接,以便人们可以在 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 文件中引用生成的文档中的副本?我当然可以写一个后处理脚本,但在 Maven 中一定有某种方法可以做到吗?..

【问题讨论】:

    标签: maven asciidoc asciidoctor


    【解决方案1】:

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

        <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。

    【讨论】:

      猜你喜欢
      • 2013-01-26
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多