IKE Docs
IKE Docs 43
-
Home
- Documentation
Getting Started
Prerequisites
- Java 21+
- JRuby 10 requires Java 21 or later. The pipeline targets Java 25 for tool modules but any JDK 21+ will work for document generation.
- Maven 4+
- The reactor uses POM model version 4.1.0 and Maven 4 subproject semantics. Download from https://maven.apache.org/download.cgi[1].
For Document Authors
If you are writing documentation using the IKE pipeline, your project inherits from network.ike.platform:ike-parent. The same parent serves both doc-only modules and hybrid Java-plus-docs modules — packaging type is what differentiates them (see “Hybrid Java-plus-docs” below).
Minimal pom.xml — doc-only project
<project xmlns="http://maven.apache.org/POM/4.1.0" ...>
<modelVersion>4.1.0</modelVersion>
<parent>
<groupId>network.ike.platform</groupId>
<artifactId>ike-parent</artifactId>
<version>26</version>
<relativePath/> <!-- force repo lookup; see ike-issues#323 -->
</parent>
<groupId>com.example</groupId>
<artifactId>my-document</artifactId>
<version>1.0.0-SNAPSHOT</version>
<packaging>pom</packaging> <!-- doc-only: pom packaging post-#321 -->
<name>My IKE Document</name>
</project>
The AsciiDoc source payload is auto-attached as a <classifier>adoc</classifier><type>zip</type> artifact when src/docs/asciidoc/ exists. Renderer outputs (PDF, HTML) attach as additional classifiers when their toggles are enabled.
<relativePath/> (empty self-closing element) forces Maven to resolve ike-parent from the local repository / Nexus rather than traversing the filesystem. Required when your project lives inside a workspace aggregator that itself inherits the same parent (see IKE-Network/ike-issues#323).
Document structure
Place your AsciiDoc content in the standard location:
my-document/
├── pom.xml
└── src/
└── docs/
└── asciidoc/
├── index.adoc (1)
├── chapters/
│ ├── introduction.adoc
│ └── methodology.adoc
└── images/
└── architecture.png
pdf.source.document in your POM if named differently.Build HTML
mvn clean verify
HTML output lands in target/generated-docs/html/. The HTML profile is active by default.
Hybrid Java-plus-docs
Java modules that also ship documentation inherit from the same ike-parent. The differentiator from a doc-only module is the packaging type — hybrids use the default jar (or maven-plugin, etc.) and let the path-conditional doc-pipeline profile attach the adoc classifier on top of the primary jar.
Minimal pom.xml
<project xmlns="http://maven.apache.org/POM/4.1.0" ...>
<modelVersion>4.1.0</modelVersion>
<parent>
<groupId>network.ike.platform</groupId>
<artifactId>ike-parent</artifactId>
<version>26</version>
<relativePath/>
</parent>
<groupId>com.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0.0-SNAPSHOT</version>
<name>My IKE Project</name>
</project>
ike-parent provides Java 25 compiler config, test framework versions, JPMS --add-opens for surefire/failsafe, signing, javadoc, and the rest of the Java toolchain — there is no separate java-parent (the previously-distinct java-parent was retired in IKE-Network/ike-issues#216).
Java source goes in src/main/java/ as usual. Documentation goes in src/docs/asciidoc/. Both compile and render in a single mvn clean verify. The doc-pipeline profile auto-activates on src/docs/asciidoc/ existence — no per-module declaration needed.
Using Koncept Markup
Reference clinical concepts with the k:Name[] inline macro:
The patient presented with k:HeartFailure[] and k:AorticStenosis[].
This renders as clickable SVG badges that link to an auto-generated glossary. Supply definitions via a koncepts.yml file:
HeartFailure:
label: Heart Failure
definition: >
A clinical syndrome characterized by the heart's inability
to pump sufficient blood to meet metabolic demands.
axiom: "≡ ClinicalSyndrome ⊓ ∃hasPathology.(InsufficientCardiacOutput)"
sctid: "84114007"
See the Koncept Reference[2] for full details.
Using Semantic Linebreaks
Format your AsciiDoc source with one sentence per line for cleaner git diffs:
java -jar semantic-linebreak/target/semantic-linebreak-1.0.0-SNAPSHOT.jar \
src/docs/asciidoc/index.adoc
See Semantic Lines[3] for the specification and rationale.
Available Renderers
| Renderer | Cost | Activation | Notes |
|---|---|---|---|
| HTML5 | Free | Default (always on) | Browsable output with sidebar TOC |
| Prawn PDF | Free | -Dike.pdf.prawn |
Built-in JRuby/Prawn backend |
| Prince XML | $495+ | -Dike.pdf.prince |
Best CSS Paged Media, PDF/UA-1 |
| Antenna House | $560+ | -Dike.pdf.ah |
CSS + XSL-FO dual engine |
| WeasyPrint | Free | -Dike.pdf.weasyprint |
Python, open source |
| RenderX XEP | Free personal | -Dike.pdf.xep |
XSL-FO via DocBook pipeline |
| Apache FOP | Free | -Dike.pdf.fop |
Pure Java XSL-FO, Apache 2.0 |