沙漠风暴

西方可能仍在经历干旱期,但我们很高兴能为Maven用户带来1.5.0版本的Asciidoctor Maven插件,该插件已发布至Maven中央仓库和jCenter!

这个版本加入了来自http://asciidoctor.org/news/2014/08/12/asciidoctor-1-5-0-released/[Asciidoctor 1.5.0]和http://asciidoctor.org/news/2014/08/21/asciidoctorj-1-5-0-released/[AsciidoctorJ 1.5.0]的所有改进,以及对网站插件的增强功能。就像之前的版本一样,这个插件是基于https://github.com/asciidoctor/asciidoctor[Asciidoctor]和https://github.com/asciidoctor/asciidoctorj[AsciidoctorJ]项目(现在使用语义版本控制)的同一个版本——1.5.0。

文物信息

工件信息(jCenter @ Bintray)
Group Id Artifact Id Version Download

org.asciidoctor

asciidoctor-maven-plugin

1.5.0

pom jar javadoc (jar) sources (jar)

制品信息(Maven 中央仓库)
Group Id Artifact Id Version Download

org.asciidoctor

asciidoctor-maven-plugin

1.5.0

pom jar javadoc (jar) sources (jar)

安装或升级

安装或升级到1.5.0版本非常简单。只需在你的pom.xml中更新版本号。所有必需的依赖将通过Maven的依赖管理自动拉取。

<plugins>
  <plugin>
    <groupId>org.asciidoctor</groupId>
    <artifactId>asciidoctor-maven-plugin</artifactId>
    <version>1.5.0</version>
  </plugin>
</plugins>

参考 示例项目,复制粘贴你的方法成就伟大!

Important
在升级到 Asciidoctor 1.5.0 时,请参考http://asciidoctor.org/docs/migration/[迁移指南]了解如何迁移你的内容的详细信息。

请参考Asciidoctor Maven插件的http://asciidoctor.org/docs/asciidoctor-maven-plugin/[手册],了解配置选项和插件的其他功能信息。

版本亮点

发布了jCenter

Asciidoctor Maven 插件现已发布到https://bintray.com/asciidoctor/maven/asciidoctor-maven-plugin/view/general[Bintray的jCenter]!这意味着你可以更容易地找到这个插件,并且其已发布到网络上的二进制文件的未来目的地。你可以选择在Bintray上当新版本可用时获得通知。

将非AsciiDoc文件复制到输出目录 (#67)

Asciidoctor Maven 插件现在会将非AsciiDoc文件复制到输出目录,因此你可以将资源(如图像或样式表)放在AsciiDoc源文件夹中。这一变化使得Asciidoctor Maven插件的行为与Gradle插件的行为保持一致。

添加配置以设置gem路径和加载额外的gems (#109)

现在您可以使用 gemPath 配置选项指定一个或多个宝石(gem)安装目录(即 GEM_PATH)的位置。这个设置的主要目的是加载 AsciidoctorJ 中未打包的额外 Ruby 库,例如 asciidoctor-diagram。您可以使用 require 配置选项加载额外的库(绝对路径、相对路径或宝石名称)。

这是一个例子,演示了如何在你的pom.xml文件中的插件段落内使用那个配置:

<configuration>
  <gemPath>${project.build.directory}/gems-provided</gemPath>
  <requires>
    <require>asciidoctor-diagram</require>
  </requires>
</configuration>
单独配置AsciidoctorJ (#111)

在1.5.0版本之前,如果你定义了`GEM_HOME`或`GEM_PATH`环境变量(如果你使用RVM这是很常见的),Maven插件会允许JRuby看到项目外部安装的gems。这可能导致无法复现的构建。

我们已经通过在插件配置中没有指定的情况下清除 GEM_PATH 环境变量来部分解决了这个问题。然而,GEM_HOME 环境变量要到 AsciidoctorJ 1.5.1 才能被正确清除。在此期间,如果 GEM_HOME 被设置到构建外部的路径,我们会在构建中发出警告,以便你知道需要手动重置该值(例如,通过运行 rvm use system)。

正确处理`false`和空属性值 (#93)

在0.1.4版本中出现了一个回归问题,该问题将`false`和空的属性值都视为`true`。Maven需要手动干预以正确地转换这些值。现在,您可以使用一个空字符串值,它将意味着启用该属性,或者使用一个`false`值,它将意味着禁用该属性。例如:

<configuration>
  <attributes>
    <toc/>
    <linkcss>false</linkcss>
  </attributes>
</configuration>

这个配置等同于对Asciidoctor的以下命令行参数:

-a toc -a linkcss!

在Maven站点插件中生成XHTML (uri-issue/61[#61])

在Asciidoctor 1.5.0中最重要的改进之一是添加了XHTML后端。简单来说,这个后端产生的是XHTML5(符合XML的HTML5),而不是通常的简写HTML5。添加这个后端的主要原因是为了修复Asciidoctor Maven插件中site模块的行为。Maven站点插件使用的XML解析器会对此感激不尽!

EPUB3输出

AsciidoctorJ 提供了与 Asciidoctor EPUB3 转换器的即时集成。这意味着你可以在 Maven 插件中使用它,而无需声明任何额外的依赖关系。只需将后端设置为 epub3,你就可以开始了!

Warning
EPUB3转换器目前还处于测试的初级阶段。在尘埃落定之前,预计会有一些小问题!

关于此版本修复的问题的更多信息,请参见问题跟踪器中的https://github.com/asciidoctor/asciidoctor-maven-plugin/issues?q=milestone%3A1.5.0[1.5.0里程碑]。

致谢

感谢所有为这次发布提供帮助的[贡献者],以及所有参与使Asciidoctor成为一款出色的文档工具链和社区的人!我们特别想感谢Asciidoctor Gradle插件的开发者们,他们给了我们许多关于如何使Maven插件变得更好的想法!

享受构建出色的文档!