Modules and coordinates
All modules are published under the group org.markup-poet, version 0.2.0.
Modules
| Module | Coordinates | Contents | Dependencies |
|---|---|---|---|
|
|
standalone table model + DSL |
none |
|
|
abstract document model + |
|
|
|
standalone graph model + DSL (nodes/edges), |
none |
|
|
writes documents and tables as AsciiDoc source text |
|
|
|
writes documents and tables as Markdown (GFM) source text |
|
|
|
standalone grammar model + DSL (rules/expressions) |
none |
|
|
writes graphs as Graphviz DOT source text |
|
|
|
writes grammars as BNF, EBNF or ABNF source text |
|
Dependency layering
The model modules (markup-table, markup-document, markup-graph, markup-grammar) have zero third-party dependencies; markup-document api-depends only on markup-table. Writer modules api-depend on their model modules plus org.jetbrains.kotlinx:kotlinx-io-core:0.9.1 and org.jetbrains.kotlinx:kotlinx-coroutines-core:1.11.0. Depending on a writer module therefore brings kotlinx-io and kotlinx-coroutines onto the classpath and pulls the model modules in transitively.
Supported targets
All modules build the same Kotlin Multiplatform target set:
| Target | Notes |
|---|---|
JVM |
Java toolchain 17 |
Android |
minSdk 24, JVM target 11 |
iOS |
|
Linux |
|
macOS |
|
Which module do I need
| Goal | Dependency |
|---|---|
Build a document model only (no output) |
|
Build a table model only |
|
Build a graph model only (incl. DAG analysis) |
|
Build a grammar model only (no output) |
|
Write documents or tables as AsciiDoc |
|
Write documents or tables as Markdown (GFM) |
|
Write graphs as Graphviz DOT |
|
Write grammars as BNF, EBNF or ABNF |
|
Writer modules pull their model modules in transitively; declaring the writer alone is sufficient:
dependencies {
implementation("org.markup-poet:markup-asciidoc-writer:0.2.0")
}