如何使用 Java 或 Groovy 的 asciidoctorj-diagram?
How to use asciidoctorj-diagram with Java or Groovy?
PlantUML 是 Asciidoc 的一个很好的扩展,但我无法从我的 groovy 代码中弄清楚如何使用。
据我所知,asciidoctorj-diaram
模块应该是当前 asciidoctorj
-Release 的一部分,所以我想我不需要额外的依赖。但是我的代码可以很好地呈现 asciidoc,但不会呈现 PlantUML 图。它说:
invalid style for open block: plantuml
知道哪里出了问题吗?我在网上找到的 asciidoctorj-diagram
示例都使用 gradle-plugin :-|
即使该库是 AsciidoctorJ 项目的一部分,也有一个单独的 java 库称为:asciidoctorj-diagram
(asciidoctor-diagram
的 java 版本)
您确定您的类路径中有 asciidoctorj-diagram
吗?这里的行家坐标:
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-diagram</artifactId>
<version>1.3.1</version>
</dependency>
你还需要告诉 Asciidoctor asciidoctor-diagram
是必需的。请参阅以下普通 java 示例中的行 <1>
:
public static void main(String[] args) {
org.asciidoctor.Asciidoctor asciidoctor =
org.asciidoctor.Asciidoctor.Factory.create();
asciidoctor.requireLibrary("asciidoctor-diagram"); // <1>
StringBuilder sb = new StringBuilder();
sb.append("== Diagrams\n");
sb.append("\n");
sb.append("[plantuml,auth-protocol]\n");
sb.append("....\n");
sb.append("Alice -> Bob: Authentication Request\n");
sb.append("Bob --> Alice: Authentication Response\n");
sb.append("\n");
sb.append("Alice -> Bob: Another authentication Request\n");
sb.append("Alice <-- Bob: another authentication Response\n");
sb.append("....\n");
String html = asciidoctor.convert(sb.toString(),
new java.util.HashMap<String, Object>());
System.out.println(html);
}
对了,还有一个maven例子:asciidoctor-diagram-example。但是这个例子需要 asciidoctor-maven-plugin
类似于 gradle 插件。
PlantUML 是 Asciidoc 的一个很好的扩展,但我无法从我的 groovy 代码中弄清楚如何使用。
据我所知,asciidoctorj-diaram
模块应该是当前 asciidoctorj
-Release 的一部分,所以我想我不需要额外的依赖。但是我的代码可以很好地呈现 asciidoc,但不会呈现 PlantUML 图。它说:
invalid style for open block: plantuml
知道哪里出了问题吗?我在网上找到的 asciidoctorj-diagram
示例都使用 gradle-plugin :-|
即使该库是 AsciidoctorJ 项目的一部分,也有一个单独的 java 库称为:asciidoctorj-diagram
(asciidoctor-diagram
的 java 版本)
您确定您的类路径中有 asciidoctorj-diagram
吗?这里的行家坐标:
<dependency>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctorj-diagram</artifactId>
<version>1.3.1</version>
</dependency>
你还需要告诉 Asciidoctor asciidoctor-diagram
是必需的。请参阅以下普通 java 示例中的行 <1>
:
public static void main(String[] args) {
org.asciidoctor.Asciidoctor asciidoctor =
org.asciidoctor.Asciidoctor.Factory.create();
asciidoctor.requireLibrary("asciidoctor-diagram"); // <1>
StringBuilder sb = new StringBuilder();
sb.append("== Diagrams\n");
sb.append("\n");
sb.append("[plantuml,auth-protocol]\n");
sb.append("....\n");
sb.append("Alice -> Bob: Authentication Request\n");
sb.append("Bob --> Alice: Authentication Response\n");
sb.append("\n");
sb.append("Alice -> Bob: Another authentication Request\n");
sb.append("Alice <-- Bob: another authentication Response\n");
sb.append("....\n");
String html = asciidoctor.convert(sb.toString(),
new java.util.HashMap<String, Object>());
System.out.println(html);
}
对了,还有一个maven例子:asciidoctor-diagram-example。但是这个例子需要 asciidoctor-maven-plugin
类似于 gradle 插件。