We write
code
like poems.

Markup Poets is a small open-source fellowship treating markup languages as a literary craft — beginning with an AsciiDoc parser for Kotlin Multiplatform.

I.
From the Manifesto

Markup is the quiet architecture of every document you have ever loved. It is the invisible scaffolding beneath a page of poetry, a technical specification, a letter to a friend. We hold that a parser deserves the same discipline as a stanza: exactness, cadence, the refusal of a wasted word.

We build tools for the people who write in AsciiDoc, Markdown, reStructuredText — the small languages that carry the world's serious writing. We build them slowly, in the open, and with the conviction that structure is a form of verse.

Continue reading →

II.
A Translation Table

Type on the left. Read on the right.

A live AsciiDoc translator, running entirely in your browser via our own asciidoc-kmp, compiled to WebAssembly. Edit the source; the rendered document responds.

Source · AsciiDocloading wasm…
Rendered · HTML*

This demo is rendered by asciidoc-kmp — our own Kotlin Multiplatform parser, compiled to WebAssembly and running entirely in your browser.

III.
Featured Work
asciidoc-kmp

asciidoc-kmp

Kotlin · Multiplatform · Apache-2.0

A Kotlin Multiplatform implementation of the AsciiDoc language — one parser, every runtime Kotlin reaches.

The AsciiDoc grammar has, until now, lived primarily in Ruby and JavaScript. asciidoc-kmp brings a faithful, spec-tracking parser to Android, iOS, the JVM, and the browser through Kotlin/Wasm — from a single source tree.

// build.gradle.kts
dependencies {
    implementation("org.markup-poet:asciidoc-parser:0.1.1")
    implementation("org.markup-poet:html-renderer:0.1.1")
}

// anywhere Kotlin runs
val doc = DefaultAsciidocParser().parse(source).document
println(doc.header?.title)