Bootstrapping

This describes the plugins for the new Asciidoctor model. For classic operation see Quick Start instead.

Using versions in build.gradle

plugins {
    id 'org.asciidoctor.jvm' version '5.0.0-alpha.1' (1)
    id 'org.asciidoctor.jvm.diagram' version '5.0.0-alpha.1' (2)
    id 'org.asciidoctor.jvm.epub' version '5.0.0-alpha.1' (3)
    id 'org.asciidoctor.jvm.gems' version '5.0.0-alpha.1' (4)
    id 'org.asciidoctor.jvm.kroki' version '5.0.0-alpha.1' (5)
    id 'org.asciidoctor.jvm.pdf' version '5.0.0-alpha.1' (6)
    id 'org.asciidoctor.jvm.revealjs' version '5.0.0-alpha.1' (7)
    id 'org.asciidoctor.js' version '5.0.0-alpha.1' (8)
    id 'org.asciidoctor.js.docbook' version '5.0.0-alpha.1' (9)
    id 'org.asciidoctor.js.kroki' version '5.0.0-alpha.1' (10)
    id 'org.asciidoctor.js.revealjs' version '5.0.0-alpha.1' (11)
}
1 The convention plugin for working with AsciidoctorJ. Applies org.asciidoctor.jvm.base and also creates a default toolchain called asciidoctorj.
2 Registers an extension with support for asciidoctorj-diagram.
3 Registers the output formatter for creating EPUB files.
4 Adds support for adding additional GEMs to the execution classpath.
5 Adds the Kroki extension for use with asciidoctorj extensions.
6 Applies org.asciidoctor.core.pdf-themes and also registers the output formatter for creating PDF files.
7 Adds the ability to generate slides with AsciidoctorJ Reveal.js.
8 The convention plugin for working with Asciidoctor.js. Applies org.asciidoctor.jvm.base and also creates a default toolchain called asciidoctorjs.
9 Adds the ability to output to Docbook using Asciidoctor.js.
10 Adds the Kroki extension for use with asciidoctorjs extensions.
11 Adds the ability to generate slides with Reveal.js for Asciidoctor.js.

There is also a set of less common plugins, which are applied via the plugins listed above. They are listed here as they might prove useful in special cases

plugins {
    id 'org.asciidoctor.editorconfig' version '5.0.0-alpha.1' (1)
    id 'org.asciidoctor.core.base' version '5.0.0-alpha.1' (2)
    id 'org.asciidoctor.core' version '5.0.0-alpha.1' (3)
    id 'org.asciidoctor.core.pdf-themes' version '5.0.0-alpha.1' (4)
    id 'org.asciidoctor.jvm.base' version '5.0.0-alpha.1' (5)
    id 'org.asciidoctor.js.base' version '5.0.0-alpha.1' (6)
}
1 Produces an .asciidoctoreditorconfig file for IDE purposes.
2 The Asciidoctor base plugin, which is engine free. Only provides the asciidoc extension and the showAsciidoctorToolchains task.
3 The Asciidoctor core plugin, which is engine free. Adds a single publication called main and a task called asciidoctorAll.
4 Adds the asciidocPdfThemes extension.
5 Registers the ability to create AsciidoctorJ toolchains along with output formatters for HTML, DocBook and Manpages. Also registers the diagram AsciidoctorJ extension.
6 Registers the ability to create Asciidoctor.js toolchains along with an HTML output formatter.

Using the version catalog

gradle/libs.versions.toml
[versions]
asciidoctorPlugin = "5.0.0-alpha.1"

[plugins]
asciidoctorj = { id ="org.asciidoctor.jvm", version.ref = "asciidoctorPlugin" }
asciidoctorjDiagram = { id ="org.asciidoctor.jvm.diagram", version.ref = "asciidoctorPlugin" }
asciidoctorjEpub = { id ="org.asciidoctor.jvm.epub", version.ref = "asciidoctorPlugin" }
asciidoctorjGems = { id ="org.asciidoctor.jvm.gems", version.ref = "asciidoctorPlugin" }
asciidoctorjKroki = { id ="org.asciidoctor.jvm.kroki", version.ref = "asciidoctorPlugin" }
asciidoctorjPdf = { id ="org.asciidoctor.jvm.pdf", version.ref = "asciidoctorPlugin" }
asciidoctorjRevealjs = { id ="org.asciidoctor.jvm.revealjs", version.ref = "asciidoctorPlugin" }
asciidoctorjs = { id ="org.asciidoctor.js", version.ref = "asciidoctorPlugin" }
asciidoctorjsDocbook = { id ="org.asciidoctor.js.docbook", version.ref = "asciidoctorPlugin" }
asciidoctorjsKroki = { id ="org.asciidoctor.js.kroki", version.ref = "asciidoctorPlugin" }
asciidoctorjsRevealjs = { id ="org.asciidoctor.js.reveraljs", version.ref = "asciidoctorPlugin" }
asciidoctorEditorConfig = { id ="org.asciidoctor.editorconfig", version.ref = "asciidoctorPlugin" }
build.gradle
plugins {
    id alias(libs.plugins.asciidoctorj)
    id alias(libs.plugins.asciidoctorjDiagram)
    id alias(libs.plugins.asciidoctorjEpub)
    id alias(libs.plugins.asciidoctorjGems)
    id alias(libs.plugins.asciidoctorjPdf)
    id alias(libs.plugins.asciidoctorjRevealjs)
    id alias(libs.plugins.asciidoctorjs)
    id alias(libs.plugins.asciidoctorjsDocbook)
    id alias(libs.plugins.asciidoctorjsRevealjs)
    id alias(libs.plugins.asciidoctorEditorConfig)
}