Quarkdown: Wenn Markdown Textsatz lernt

Quarkdown ist eine Markdown-Obermenge mit Funktionen, Variablen und Skripting — ein lesbares LaTeX, das aus einer Quelle Webseite, PDF, Buch und Präsentation macht. Auftakt einer Reihe.

von ·

Markdown ist die Lingua franca des schreibenden Webs — leicht zu lernen, überall lesbar, schnell getippt. Und doch stößt es ständig an dieselbe Wand: Sobald ein Dokument mehr will als Fließtext mit ein paar Überschriften — eine Bildgröße, eine durchnummerierte Abbildung, ein Inhaltsverzeichnis, ein zentrierter Block, dieselbe Bausteinlogik an zwanzig Stellen — wird es zur Bastelei aus rohem HTML und copy-paste. Quarkdown setzt genau hier an: eine Obermenge von Markdown, die der vertrauten Syntax Funktionen beigibt und damit aus einer einzigen Quelle eine Webseite, ein PDF, ein druckfertiges Buch oder eine interaktive Präsentation macht. Der Autor nennt es treffend „ein lesbares LaTeX". Dieser Artikel ist der Auftakt einer Reihe, in der ich das Werkzeug von Grund auf durchgehe — heute: Was ist Quarkdown überhaupt, und warum lohnt der Blick?

Das Grundprinzip: Funktionen in Markdown

Quarkdown baut auf CommonMark und GitHub Flavored Markdown auf. Alles, was du aus Markdown kennst, funktioniert weiter: **fett**, *kursiv*, Listen, Links, Tabellen, Code-Blöcke. Der entscheidende Zusatz ist eine einzige neue Idee — der Funktionsaufruf. Er beginnt mit einem Punkt, Argumente stehen in geschweiften Klammern:

.center
    Dieser Absatz steht jetzt zentriert im Dokument.

Das eingerückte „Block-Argument" ist der Inhalt, auf den die Funktion wirkt. Funktionen lassen sich verketten — die Ausgabe der einen wird zur Eingabe der nächsten:

.sqrt {10}::round::multiply {2}

Aus dieser kleinen Mechanik wächst alles Weitere: Layout-Bausteine, Mathematik, Schleifen, Bedingungen, eigene wiederverwendbare Komponenten. Quarkdown ist in diesem Sinne Turing-vollständig — also eine echte kleine Programmiersprache, die sich als Markdown tarnt. Eine Bildgröße schreibst du als !(50%)[Logo](logo.png) statt als HTML-<img> mit Inline-Style. Wiederkehrende Inhalte — eine Hinweisbox, ein Briefkopf, eine Formatierung — definierst du einmal als Funktion und rufst sie danach mit einer Zeile auf. Die Details zu Variablen, eigenen Funktionen und Skripting hebe ich mir für Teil 2 der Reihe auf; hier soll es um das große Bild gehen.

Eine Quelle, vier Ausgaben

Der eigentliche Clou ist die Vielseitigkeit: Dieselbe .qd-Quelle kann in vier verschiedene Dokumenttypen rendern, gesteuert durch eine einzige Zeile am Dokumentanfang:

.doctype Charakter Ideal für
plain durchgehender Fluss wie Notion/Obsidian Webseiten, Wissensmanagement
paged klassische Seiten mit Umbrüchen (via paged.js) Artikel, wissenschaftliche Papers, Bücher
slides interaktive Präsentation (via reveal.js) Vorträge
docs Sidebar plus Inhaltsverzeichnis Wikis, technische Dokumentation

Diese vier HTML-Varianten lassen sich allesamt zusätzlich als PDF exportieren; daneben gibt es eine reine Plaintext-Ausgabe. Das Versprechen lautet also: einmal schreiben, je nach Ziel anders ausgeben — vom Blogpost bis zum gebundenen Buch, ohne den Inhalt anzufassen. Die offizielle Quarkdown-Wiki mit ihren über 100 Seiten ist selbst ein docs-Dokument und kompiliert in rund zwei Sekunden.

Wo Quarkdown steht

Quarkdown spielt im selben Feld wie LaTeX, Typst, AsciiDoc und MDX — und positioniert sich bewusst dazwischen: die volle Dokumentkontrolle und das Scripting eines LaTeX, aber mit der flachen Lernkurve von Markdown. Der Vergleich aus der Projekt-Doku bringt es auf den Punkt:

Quarkdown LaTeX Typst AsciiDoc MDX
Knapp & lesbar
Volle Dokumentkontrolle
Scripting teils
Buch/Artikel-Export über Dritte
Präsentations-Export über Dritte
Static-Site-Export experimentell
Wiki/Docs-Export
Lernkurve niedrig hoch mittel niedrig niedrig
Ziele HTML, PDF, TXT PDF, PS HTML, PDF HTML, PDF, ePub HTML

Wer einmal eine LaTeX-figure-Umgebung mit drei subfigure-Blöcken getippt hat, weiß, warum die Markdown-nahe Schreibweise reizt: Dasselbe Ergebnis steht in Quarkdown in einem Bruchteil der Zeichen — und bleibt dabei lesbar.

Das erste Dokument in drei Befehlen

Eines zur Einordnung vorweg: Quarkdown ist ein lokales Kommandozeilen-Werkzeug, kein Online-Dienst und keine Web-App. Du installierst es und arbeitest darüber den quarkdown-Befehl — die eigentliche Engine ist eine JVM-Bibliothek, die CLI ihre Hauptschnittstelle. Eine offizielle VS-Code-Extension und ein Language Server sitzen als Komfort-Layer obendrauf, fahren unter der Haube aber denselben Compiler. Es gibt also keinen serverseitigen Editor; das Ergebnis ist statisches HTML (oder PDF), das du selbst ablegst.

Installiert ist Quarkdown schnell — unter Linux und macOS per Skript oder Homebrew, unter Windows per Skript oder Scoop:

brew install quarkdown-labs/quarkdown/quarkdown

Danach legt ein interaktiver Assistent ein neues Projekt mitsamt Metadaten und Startinhalt an:

quarkdown create mein-dokument

Kompiliert wird mit quarkdown c — die HTML-Ausgabe landet im output-Verzeichnis, ein --pdf erzeugt zusätzlich das PDF:

quarkdown c main.qd

Und für die Arbeit am Text gibt es eine Live-Vorschau mit niedriger Latenz: -p (preview) öffnet den Browser, -w (watch) kompiliert bei jeder Dateiänderung neu.

quarkdown c main.qd -p -w

Wer in VS Code arbeitet, bekommt mit der offiziellen Quarkdown-Extension dieselbe Vorschau per Knopfdruck. Ein weiterer Pluspunkt für sicherheitsbewusste Setups: Quarkdown ist secure by default — ein restriktives Berechtigungssystem begrenzt von Haus aus den Zugriff auf Systemressourcen.

Warum das hier steht

Diese Plattform ist selbst ein Experiment darin, Inhalte maschinen- und KI-freundlich vorzuhalten — jede Seite gibt es zusätzlich nativ als Markdown. Quarkdown trifft denselben Nerv von der anderen Seite: Es nimmt Markdown ernst genug, um daraus professionelle Artefakte zu erzeugen, und wirbt ausdrücklich damit, agent-freundlich zu sein — es bringt ein eigenes Skill für KI-Coding-Agenten mit, damit die das Format flüssig beherrschen. Genau diesem KI-Aspekt widme ich später einen eigenen Teil der Reihe. Quarkdown ist Open Source (GPLv3; CLI und Language Server unter AGPLv3) und wird vom Entwickler iamgio gepflegt.

FAQ

Ersetzt Quarkdown mein normales Markdown?

Nein — es erweitert es. Jedes gültige CommonMark-/GFM-Dokument ist bereits gültiges Quarkdown. Du kannst klein anfangen und nur dort Funktionen einsetzen, wo reines Markdown nicht mehr reicht. Für ein README oder einen GitHub-Issue bleibt schlichtes Markdown das richtige Werkzeug; für ein druckfertiges Dokument spielt Quarkdown seine Stärken aus.

Brauche ich LaTeX-Kenntnisse?

Nein. Genau das ist der Punkt: Quarkdown zielt auf die flache Lernkurve von Markdown, nicht auf die steile von LaTeX. TeX-Formeln kannst du einbetten, musst es aber nicht — der Rest des Dokuments bleibt vertraute Markdown-Syntax mit ein paar .funktion-Aufrufen.

Was brauche ich für den PDF-Export?

Der PDF-Export setzt auf Node.js und Puppeteer auf, weil er die HTML-Ausgabe im Hintergrund durch eine Browser-Engine rendert. Das macht ihn etwas langsamer als die reine HTML-Kompilierung, liefert dafür aber pixelgenau dasselbe Ergebnis wie die Webvorschau.

Weiterlesen

Das war der Überblick. In den nächsten Teilen dieser Reihe gehe ich in die Tiefe: Funktionen, Variablen und Skripting (das „Turing-vollständig"-Versprechen konkret), Dokumenttypen, Themes und Layout, Daten, Tabellen und Diagramme, wissenschaftliches Schreiben mit Bibliografie und Cross-References, der Weg zum Artefakt über CLI, PDF und Deployment sowie der KI-Aspekt rund um das mitgelieferte Agent-Skill. Wer nicht warten möchte, findet die volle Referenz in der offiziellen Quarkdown-Wiki und der Standardbibliothek.