Adding an external backend as an output formatter
Although the popular AsciidoctorJ backends are supported in this plugin suite, there is a good chance that one might want to use a backend that is not directly supported.
For this there is a special output formatter of type AsciidoctorjGenericOutputFormatter
.
import org.asciidoctor.gradle.model5.jvm.formatters.AsciidoctorjGenericOutputFormatter
import org.asciidoctor.gradle.model5.jvm.toolchains.AsciidoctorjToolchain
asciidoc {
toolchains {
asciidoctorj.registeredOutputFormatters {
myBackend(AsciidoctorjGenericOutputFormatter) {
backend = 'foo' (1)
attributes( foo_color : 'black') (2)
copyResources = false (3)
enforcedDocType = 'book' (4)
requires 'foo' (5)
useGem 'foo', '1.2.3' (6)
useModule( 'acme.foo:foo', '1.2.3') (7)
useModule( dependencies.project(':my-backend')) (8)
}
}
}
}
1 | Set the name of the backend |
2 | Set the specific attributes that this backend might require. |
3 | Set whether the backend should copy resources. |
4 | If the backend requires a specific kind of document type, set it here, otherwise leave it alone. |
5 | If one or more requires need to be passed to the engine, define them here. |
6 | If the backend is only available as a GEM, add the name of the GEM and its version.
To use this option, the org.asciidoctor.jvm.gems must be applied. |
7 | If the backend is available as a JAR artifact from a Maven or Ivy repository, provide the Maven module coordinates as well as something that will resolve to a version string. |
8 | If the backend is provided from the current project hierarchy, it can be referenced as a project dependency. |