Extension documentation
The documentation pages for the individual extensions are generated by the update-extension-doc-page
mojo of camel-quarkus-maven-plugin
. The mojo is invoked from the runtime module of each extension. The resulting AsciiDoc files are stored in docs/modules/ROOT/pages/extensions
. From there, the pages are published by Antora to the Camel website.
The pages are referenced i.e. from the List of Camel Quarkus extensions and from Camel Quarkus items on code.quarkus.io.
The update-extension-doc-page
mojo merges the FreeMarker template with the following data:
-
artifactIdBase
: theartifactId
of the runtime module without thecamel-quarkus-
prefix. -
jvmSince
: the<camel.quarkus.jvmSince>
property in the runtimepom.xml
-
nativeSince
: the<camel.quarkus.nativeSince>
property in the runtimepom.xml
-
nativeSupported
:false
if the given extension lives underextensions-jvm
,true
otherwise. -
models
: the list of Camel components, data formats, languages, etc. the given extension delivers. -
intro
: the first paragraph (optional); the content ofsrc/main/doc/intro.adoc
in the runtime module of the given extension. Ifintro.adoc
does not exist, thedescription
from the Camel Catalog is used as the first paragraph on the page. -
usage
: Camel Quarkus specific usage (optional); the content ofsrc/main/doc/usage.adoc
in the runtime module of the given extension. -
configuration
: Camel Quarkus specific configuration options (optional); the content ofsrc/main/doc/configuration.adoc
in the runtime module of the given extension. -
limitations
: Camel Quarkus specific limitations (optional); the content ofsrc/main/doc/limitations.adoc
in the runtime module of the given extension.
Overriding generated component links
Sometimes the generated component link xref within each extension doc page needs to be overridden. Usually due to the Camel component .adoc
file not conforming to the usual naming conventions or if a component is moved, renamed etc.
To override parts of the xref link, the following update-extension-doc-page
configuration can be used.
<plugin>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-maven-plugin</artifactId>
<executions>
<execution>
<id>update-extension-doc-page</id>
<goals>
<goal>update-extension-doc-page</goal>
</goals>
<phase>process-classes</phase>
<configuration>
<componentLinkOverrides>
<console> (1)
<name>camel-console</name> (2)
<kind>other</kind> (3)
<xrefPrefix>xref:manual::</xrefPrefix> (4)
</console>
</componentLinkOverrides>
</configuration>
</execution>
</executions>
</plugin>
1 | The original name of the Camel component. |
2 | The overridden name of the component in the generated xref link. |
3 | The overridden component kind in the generated xref link (component , dataformat , language , other ). |
4 | The overridden component generated xref link prefix. Useful for rare circumstances where the component requires you to link to an unconventional part of the Camel documentation (E.g. link manual ). The component link can be removed entirely by setting |