Quarkdown — Markdown-Textsatz mit Funktionen über die CLI
Die Quarkdown-CLI: Projekte anlegen, .qd-Quellen zu HTML/PDF/Plaintext kompilieren, Live-Preview, Webserver, Berechtigungen, REPL und Diagnose.
Quarkdown ist ein Markdown-Obermengen- und Textsatz-System, das .qd-Quelldateien über die Kommandozeile zu HTML, PDF oder Plaintext kompiliert — ein „lesbares LaTeX" mit Funktionen, Variablen und Layouts. Die eigentliche Engine ist eine JVM-Bibliothek; der Befehl quarkdown ist ihre Hauptschnittstelle. Standardmäßig erzeugt quarkdown c main.qd statisches HTML im Ordner quarkdown-output; mit --pdf entsteht zusätzlich ein PDF (über Node.js/Puppeteer), und -p -w schaltet eine Live-Vorschau mit Auto-Reload frei. Dieser Spickzettel bündelt Installation, Projekt-Setup, Kompilier-Optionen, das Berechtigungssystem (secure by default), Webserver, REPL und die Doctor-Diagnose.
Installation
brew install quarkdown-labs/quarkdown/quarkdown — Installiert Quarkdown unter Linux/macOS via Homebrew.
brew install quarkdown-labs/quarkdown/quarkdowncurl … install.sh | sudo bash — Installiert Quarkdown per Skript nach /opt/quarkdown (Linux/macOS); installiert bei Bedarf Node.js mit.
curl -fsSL https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/refs/heads/main/install.sh | sudo env "PATH=$PATH" bashscoop bucket add … ; scoop install quarkdown — Installiert Quarkdown unter Windows via Scoop.
scoop bucket add quarkdown https://github.com/quarkdown-labs/scoop-quarkdown; scoop install quarkdownirm … install.ps1 | iex — Installiert Quarkdown unter Windows per PowerShell-Skript.
irm https://raw.githubusercontent.com/quarkdown-labs/get-quarkdown/refs/heads/main/install.ps1 | iexProjekt anlegen
quarkdown create [verzeichnis] — Startet den interaktiven Projekt-Assistenten (Metadaten, Dokumenttyp, Startinhalt). Ohne Namen wird das aktuelle Verzeichnis genutzt.
quarkdown create mein-dokumentKompilieren
quarkdown c <datei>.qd — Kompiliert die Quelle zu HTML. Bei mehreren Dateien auf die Wurzeldatei zeigen (die die anderen einbindet).
quarkdown c main.qdquarkdown c <datei>.qd --pdf — Erzeugt zusätzlich ein PDF (benötigt Node.js, npm und Puppeteer).
quarkdown c main.qd --pdfquarkdown c -o <verzeichnis> — Setzt das Ausgabeverzeichnis. Standard: ./quarkdown-output. Lang: --out
quarkdown c main.qd -o build/quarkdown c --out-name <name> — Legt den Namen der Ausgabe-Ressource fest. Standard: der via .docname gesetzte Dokumentname.
quarkdown c main.qd --out-name handbuchquarkdown c -r <renderer> — Wählt den Ziel-Renderer: html (Standard), html-pdf oder text (Plaintext). Lang: --render
quarkdown c main.qd -r textLive-Preview & Watch
quarkdown c <datei>.qd -p — Aktiviert die Vorschau: startet bei Bedarf den Webserver und öffnet das Dokument im Browser. Lang: --preview
quarkdown c main.qd -pquarkdown c <datei>.qd -w — Kompiliert bei jeder Änderung im Quellverzeichnis neu. Lang: --watch
quarkdown c main.qd -wquarkdown c <datei>.qd -p -w — Kombiniert Preview und Watch zur echten Live-Vorschau.
quarkdown c main.qd -p -wquarkdown c -b <browser> — Wählt den Browser für die Vorschau: default, none, xdg, chrome, chromium, firefox, edge (oder ein Pfad). Lang: --browser
quarkdown c main.qd -p -b firefoxquarkdown c --server-port <port> — Setzt den Port des lokalen Webservers. Standard: 8089.
quarkdown c main.qd -p --server-port 9000PDF-Export
quarkdown c --pdf --node-path <pfad> — Setzt den Pfad zur Node.js-Executable. Standard: node.
quarkdown c main.qd --pdf --node-path /usr/local/bin/nodequarkdown c --pdf --npm-path <pfad> — Setzt den Pfad zur npm-Executable. Standard: npm.
quarkdown c main.qd --pdf --npm-path /usr/local/bin/npmquarkdown c --pdf --pdf-no-sandbox — Deaktiviert die Chrome-Sandbox beim PDF-Export. Nur nutzen, wenn nötig (z. B. Linux ohne Headless-Sandbox).
quarkdown c main.qd --pdf --pdf-no-sandboxQD_NPM_PREFIX=<pfad> quarkdown c --pdf — Setzt das Verzeichnis, in dem node_modules (Puppeteer) gesucht wird. Standard bei Paketmanager-Installation: lib.
QD_NPM_PREFIX=/opt/quarkdown/lib quarkdown c main.qd --pdfBerechtigungen (secure by default)
quarkdown c --allow <recht> — Gewährt eine Berechtigung. Werte: project-read, global-read, network, native-content, process, all. Standardmäßig sind project-read und native-content aktiv.
quarkdown c main.qd --allow networkquarkdown c --deny <recht> — Entzieht eine Berechtigung (wiederholbar, kombinierbar mit --allow).
quarkdown c main.qd --allow all --deny networkquarkdown c --allow global-read — Erlaubt das Lesen außerhalb des Projektordners (etwa für eingebundene Dateien per .read).
quarkdown c main.qd --allow global-readWeitere Compiler-Optionen
quarkdown c --strict — Bricht bei Fehlern ab, statt sie als Boxen ins Dokument zu rendern. Für CI-Builds unverzichtbar.
quarkdown c main.qd --strictquarkdown c --clean — Leert das Ausgabeverzeichnis vor dem Build. Destruktive Operation.
quarkdown c main.qd --cleanquarkdown c --pipe — Gibt das Ergebnis nach stdout aus (statt in eine Datei) und unterdrückt Logs — ideal zum Weiterleiten.
quarkdown c main.qd --pipe | tidy -indentquarkdown c --nowrap — Verhindert das Einbetten in die volle Dokumentstruktur; bei HTML nur der Inhalt des <body>.
quarkdown c main.qd --nowrapquarkdown c --pretty — Erzeugt eingerückten, lesbaren Ausgabecode (zum Debuggen; in Produktion meiden).
quarkdown c main.qd --prettyquarkdown c --timeout <sekunden> — Maximale Gesamtlaufzeit. Standard: 30 s; 0 deaktiviert das Limit.
quarkdown c main.qd --timeout 120quarkdown c --forbid-function-overwriting — Wirft einen Fehler, wenn eine Funktion mit bereits vergebenem Namen deklariert wird, statt sie still zu überschreiben.
quarkdown c main.qd --forbid-function-overwritingquarkdown c --no-media-storage — Schaltet das Media-Storage-System ab.
quarkdown c main.qd --no-media-storagequarkdown c --subdoc-naming <strategie> — Benennungsstrategie für Subdokument-Ausgaben: file-name (Standard), collision-proof, document-name.
quarkdown c main.qd --subdoc-naming collision-proofquarkdown c -l <verzeichnis> — Verzeichnis, aus dem externe Bibliotheken geladen werden. Standard: <install>/lib/qd. Lang: --libs
quarkdown c main.qd -l ./libsquarkdown c -Dloglevel=<level> … — Setzt den Log-Level (JVM-Property). Ab warning wird der Ausgabeinhalt nicht mehr ausgegeben.
quarkdown c main.qd -Dloglevel=warningWebserver
quarkdown start -f <datei> — Startet den Webserver, der auf die angegebene Datei zeigt (Pflichtoption). Nötig für die Vorschau von paged-Dokumenten.
quarkdown start -f quarkdown-output/quarkdown start -f <datei> -p <port> — Startet den Webserver auf einem bestimmten Port. Standard: 8089.
quarkdown start -f quarkdown-output/ -p 9000quarkdown start -f <datei> -b <browser> — Öffnet die ausgelieferte Seite im angegebenen Browser.
quarkdown start -f quarkdown-output/ -b chromeREPL & Diagnose
quarkdown repl — Öffnet einen interaktiven REPL zum Ausprobieren von Quarkdown.
quarkdown replquarkdown doctor env — Prüft die externen Runtimes (JVM, Node.js, Puppeteer).
quarkdown doctor envquarkdown doctor get install-dir — Gibt den absoluten Pfad des Installationsverzeichnisses aus (praktisch in Shell-Skripten).
INSTALL="$(quarkdown doctor get install-dir)"quarkdown doctor get agent-skill — Gibt den Pfad zum mitgelieferten KI-Agent-Skill aus (enthält SKILL.md).
ln -s "$(quarkdown doctor get agent-skill)" ~/.claude/skills/quarkdown Fazit
Quarkdown ist im Kern ein lokales CLI-Werkzeug: quarkdown create legt ein Projekt an, quarkdown c kompiliert es, -p -w gibt dir eine Live-Vorschau, und --pdf erzeugt das druckfertige Artefakt. Für CI-Builds gehört --strict dazu, damit Fehler den Build hart abbrechen statt still als Boxen durchzurutschen. Das Berechtigungssystem (--allow/--deny) macht das Kompilieren fremder Dokumente sicher, und der doctor hilft, Umgebung und Pfade zu finden. Editor-Komfort liefern die offizielle VS-Code-Extension und der Language Server — beide fahren unter der Haube dieselbe CLI.
Weiterführende Links
- Quarkdown-Wiki: CLI-Optionen – vollständige Referenz aller Compiler- und REPL-Optionen (englisch)
- Quarkdown-Wiki – Einstieg, Quickstart und Sprachreferenz (englisch)
- Standardbibliothek – alle Funktionen mit Signatur und Rückgabetyp (englisch)