Quarkdown: ein Markdown-Typsatzsystem mit Funktionen und mehreren Ausgabezielen
Markdown mit Superkräften: von Ideen bis hin zu Papieren, Präsentationen, Websites, Büchern und Wissensdatenbanken.
Auf einen Blick
- Was ist das?
- Eine einzelne Markdown-Quelle kann zu einem Buch, einer Präsentation, einem Wiki oder einer statischen Website kompiliert werden, mit einer Skriptebene, die Funktionen und Kontrollfluss hinzufügt.
- Für wen ist es gedacht?
- Das README von Quarkdown präsentiert es als eine besser scriptbare und multi-target Alternative zu LaTeX, Typst, AsciiDoc und MDX. Das Unterscheidungsmerkmal ist die Möglichkeit, Funktionen und Variablen in Markdown zu definieren und den Ausgabetyp mit einem .doctype-Aufruf zu wählen.
- Darf ich es kommerziell nutzen?
- Ja, unter Bedingungen. GPL-3.0 ist eine Copyleft-Lizenz: Wenn Sie Software weitergeben, die sie enthält, müssen Sie deren Quellcode unter derselben Lizenz veröffentlichen. Wer sie nur intern betreibt, ohne sie weiterzugeben, löst diese Pflicht nicht aus.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 1 Tag.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Kotlin, laut der Sprachstatistik von GitHub.
Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.
TIEFGEHENDE OPEN-SOURCE-ANALYSE
Der Quarkdown-Flavor: Funktionen zu Markdown hinzufügen
Quarkdown ist ein in Kotlin geschriebenes Typsatzsystem, gehostet auf github.com/iamgio/quarkdown. Es erweitert CommonMark und GFM um eine Skriptebene, die das README als Quarkdown-Flavor bezeichnet. Die Erweiterung führt Funktionen ein, die mit einem Punkt-Präfix aufgerufen werden und Argumente sowie einen Rumpf akzeptieren. Die Standardbibliothek umfasst Layout-Builder, I/O, Mathematik, Bedingungen und Schleifen, und Benutzer können ihre eigenen Funktionen und Variablen vollständig in Markdown definieren. Das README gibt ein Beispiel einer greet-Funktion, die einen Namen entgegennimmt und eine formatierte Nachricht erzeugt. Dies macht Markdown zu einer turing-vollständigen Sprache, was der Hauptunterschied zu normalem Markdown ist. Die Repository-Metadaten verzeichnen 15.863 Sterne und 491 Forks sowie 25 offene Issues.
Ausgabeziele: HTML, PDF, Markdown und Klartext
Eine einzelne Quarkdown-Quelle kann in mehrere Ausgabeformen kompiliert werden. Das README listet HTML in vier Varianten auf: plain für kontinuierlichen Fluss wie Notion oder Obsidian, paged für Papiere und Bücher über paged.js, slides für interaktive Präsentationen über reveal.js und docs für Wikis und technische Dokumentation. PDF-Export unterstützt alle Dokumenttypen, die HTML unterstützt. Es gibt auch GFM-Markdown-Export und Klartext. Das gewünschte Ziel wird in der Quelle durch Aufruf der .doctype-Funktion gewählt, z.B. .doctype {paged} für ein Drucklayout, und die plain-Variante ist die Standardeinstellung. Dies erlaubt es, denselben Inhalt in eine Website, eine Folienpräsentation oder ein Buch zu verwandeln, ohne die Quelle zu ändern.
Vergleich mit LaTeX, Typst, AsciiDoc und MDX
Das README enthält eine Tabelle, die Quarkdown mit LaTeX, Typst, AsciiDoc und MDX nach Kriterien wie prägnanter Syntax, vollständiger Dokumentkontrolle, Skripting, Exportzielen und Lernkurve vergleicht. Die Tabelle ist die eigene Einschätzung des Projekts, zeigt aber die beabsichtigten Stärken: Quarkdown behauptet, Buch- und Artikel-Export, Präsentations-Export, statischen Website-Export und Docs/Wiki-Export zu unterstützen, mit HTML, PDF, Markdown und Klartext als Zielen. Dieselbe Tabelle listet LaTeX als nur PDF und PostScript erzeugend, und Typst als experimentell für statische Websites. Ein Codebeispiel kontrastiert ein LaTeX-Dokument mit dem Quarkdown-Äquivalent und verwendet Funktionen wie .tableofcontents, .center und .row, um Struktur und Layout zu handhaben.
Installation und Projekterstellung
Das README dokumentiert mehrere Möglichkeiten, Quarkdown zu installieren. Unter Linux und macOS kann ein Skript mit curl ausgeführt und an bash weitergeleitet werden; es installiert nach /opt/quarkdown und erstellt einen Wrapper in /usr/local/bin, und installiert Node.js automatisch, falls es fehlt. Homebrew wird ebenfalls unterstützt. Unter Windows werden ein PowerShell-Skript und Scoop bereitgestellt. Eine GitHub Action namens setup-quarkdown wird für CI-Workflows referenziert. Für die manuelle Installation empfiehlt das README, quarkdown.zip von der neuesten stabilen Version herunterzuladen oder mit gradlew installDist zu bauen. Nach der Installation startet quarkdown create einen prompt-basierten Assistenten, der ein Projekt mit Metadaten und anfänglichem Inhalt erzeugt. Der Compile-Befehl ist quarkdown c file.qd, und für Multi-Datei-Projekte muss das Ziel die Root-Datei sein.
Vorschau-, Watch- und PDF-Flags
Die CLI bietet einige häufig verwendete Optionen. Das Flag -p oder --preview aktiviert automatisches Nachladen von Inhalten nach dem Kompilieren, und -w oder --watch kompiliert neu, wenn eine Quelldatei geändert wird. Die Kombination beider ergibt Live-Vorschau. Das Flag --pdf erzeugt eine PDF-Datei. Das README verweist auf das Wiki für die vollständigen CLI-Optionen und Details zum PDF-Export. Es behauptet auch, dass das offizielle Wiki (über 100 Unterdokumente) in etwa zwei Sekunden kompiliert, ohne Angabe von Hardware oder Messmethode. Der REPL-Modus ist mit quarkdown repl verfügbar, um zu experimentieren.
Das Mock-Dokument und die Bedeutung des Logos
Das Repository enthält ein Beispieldokument namens Mock, geschrieben in Quarkdown, das die visuellen Elemente der Sprache demonstrieren soll. Seine Quelle befindet sich im mock-Verzeichnis und kann mit quarkdown c mock/main.qd -p kompiliert werden. Das README sagt, dass die erzeugten PDF-Artefakte für alle Themenkombinationen in einem separaten Repository verfügbar sind. Das Logo wird ebenfalls erklärt: Es ähnelt dem ursprünglichen Markdown-Symbol, enthält aber einen rotierenden Pfeil um eine Kugel. Diese Kugel ist ein Down-Quark, gewählt, weil Quarks grundlegende Teilchen sind, die Materie ausmachen, was die Idee widerspiegelt, dass kleine Bausteine komplexe Strukturen bilden können.
Lizenzbedingungen: GPLv3 mit AGPLv3 für CLI und LSP
Quarkdown und seine Module sind laut README standardmäßig unter GNU GPLv3 lizenziert. Zwei Module sind Ausnahmen: die CLI (quarkdown-cli) und der Language Server (quarkdown-lsp) sind unter GNU AGPLv3 lizenziert. Der bereitgestellte Auszug aus der GPLv3-Lizenz besagt, dass es sich um eine freie, Copyleft-Lizenz handelt, die die Freiheit zum Teilen und Ändern von Software garantieren soll, und dass es keine Garantie für die freie Software gibt. Der AGPLv3-Text ist in der bereitgestellten Quelle nicht enthalten, daher werden seine spezifischen Bedingungen hier nicht abgedeckt. Das README erwähnt auch eine Liste von Sponsoren, aber ohne Auswirkungen auf die Lizenz.
Redaktionelles Fazit
Das README von Quarkdown präsentiert es als eine besser scriptbare und multi-target Alternative zu LaTeX, Typst, AsciiDoc und MDX. Das Unterscheidungsmerkmal ist die Möglichkeit, Funktionen und Variablen in Markdown zu definieren und den Ausgabetyp mit einem .doctype-Aufruf zu wählen. Die Repository-Metadaten zeigen 15.863 Sterne und 491 Forks, und die Lizenz teilt sich in GPLv3 und AGPLv3 für CLI- und LSP-Module auf. Die Entscheidung sollte sich auf diese konkreten Projektbedingungen stützen.
Community-Notizen