如何使用asciidoctor-tabs和asciidoctor-maven-plugin在Asciidoc和Maven中启用选项卡?

ijxebb2r  于 11个月前  发布在  Maven
关注(0)|答案(1)|浏览(102)

在asciidoctor-maven-plugin中,我可以添加extensions,但我需要指定GAV和类名。
如何添加asciidoctor-tabs扩展以在adoc文件中启用选项卡?
据我所知,标签功能might not exist on Maven Central

ovfsdjhp

ovfsdjhp1#

看起来这个扩展是在node中编写的。你确定这是要在maven中使用的吗?
实际上,asciidoctor/asciidoctor-tabs是用Ruby编写的,这使得直接使用Maven变得复杂。

+---------------------+        +------------------------+
| asciidoctor-tabs    |        | asciidoctor-maven-     |
| (Ruby Extension)    |  --->  | plugin (Maven Project) |
+---------------------+        +------------------------+

字符串
您可能需要在JRuby环境中运行该扩展,这意味着创建一个利用JRuby运行asciidoctor-tabs扩展的自定义脚本。
您可以考虑创建一个自定义的Maven插件,在构建过程中调用此脚本。该插件可以配置为在Maven构建生命周期中执行JRuby脚本。
确保所有必要的依赖项,包括JRuby和asciidoctor-maven-plugin,都在pom.xml中正确设置。
然后在pom.xml中配置asciidoctor-maven-plugin,以包含您创建的自定义脚本或Maven插件,确保它在构建生命周期的正确阶段执行。
一个pom.xml文件将包括asciidoctor-maven-plugin和一个可能的自定义脚本或插件,用于处理Asciidoctor Tabs扩展。

<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <groupId>your.group.id</groupId>
    <artifactId>your-artifact-id</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>Your Project Name</name>

    <properties>
        <asciidoctor.maven.plugin.version>2.2.4</asciidoctor.maven.plugin.version>
        <!-- Other properties -->
    </properties>

    <build>
        <plugins>
            <!-- Asciidoctor Maven Plugin -->
            <plugin>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctor-maven-plugin</artifactId>
                <version>${asciidoctor.maven.plugin.version}</version>
                <executions>
                    <execution>
                        <id>generate-docs</id>
                        <phase>prepare-package</phase>
                        <goals>
                            <goal>process-asciidoc</goal>
                        </goals>
                        <configuration>
                            <!-- Add your configuration here -->
                        </configuration>
                    </execution>
                </executions>
            </plugin>

            <!-- Custom Script/Plugin for Asciidoctor Tabs -->
            <!-- That is an example. You would need to create a custom plugin or script to handle this. -->
            <plugin>
                <groupId>your.custom.plugin.groupId</groupId>
                <artifactId>your-custom-plugin-artifactId</artifactId>
                <version>your-plugin-version</version>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>your-custom-goal</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <!-- Other plugins if necessary -->
        </plugins>
    </build>

    <dependencies>
        <!-- Add your project dependencies here -->
    </dependencies>

</project>


pom.xml是一个起点。
your-custom-plugin-artifactId是一个自定义的Maven插件,你需要创建它来处理Asciidoctor Tabs扩展。你需要实现一个Maven Mojo (Maven plain Old Java Object)来定义你的插件的目标。在Mojo中,编写Java代码来调用JRuby并运行asciidoctor-tabs Ruby脚本。你需要将相关的Asciidoc文件传递给脚本。

相关问题