MarsDawn

Befehlszeile

Das kostenlose Befehlszeilenprogramm marsdawn: Markdown aus einer Shell oder einem LLM-Agenten als PDF exportieren und, wenn die App MarsDawn installiert ist, Dateien darin öffnen.

marsdawn ist kostenlos und wird getrennt vom Mac App Store vertrieben. Installiere es mit Homebrew: Auf einem Mac mit Apple Chip ist es sofort einsatzbereit. export funktioniert eigenständig; open braucht die App MarsDawn.

Du rufst marsdawn aus einem KI-Agenten oder einem Skript auf? Unter marsdawn für Agenten findest du die JSON-Ausgabe, ihre Schemas und alle Exit-Codes, oder unter MCP-Server, wenn dein Agent Tools stattdessen über MCP aufruft.

Installation

Mit Homebrew:

brew tap redtear1115/tap && brew install marsdawn

Du nutzt einen Coding-Agenten? Führe marsdawn skill --install aus, um den marsdawn-Skill hinzuzufügen: eine Datei, die ihm beibringt, das Geschriebene zur Prüfung in MarsDawn zu öffnen und PDFs zu exportieren.

Auf einem Mac mit Apple Chip installiert Homebrew in Sekunden eine vorkompilierte Version, ohne dass sonst etwas installiert werden muss. Auf einem Intel-Mac kompiliert es marsdawn stattdessen aus dem Quellcode. Das dauert ein paar Minuten und erfordert Xcode 26 oder neuer (Swift 6.2). Das Programm läuft unter macOS 15 oder neuer.

Oder kompiliere es mit dem Swift Package Manager aus dem Quellcode:

git clone https://github.com/redtear1115/mars-dawn-kit.git
cd mars-dawn-kit
swift build -c release --product marsdawn

Welche Version du hast, zeigt marsdawn --version.

Befehle

marsdawn open

Öffnet eine oder mehrere Markdown-Dateien zur Prüfung in der App MarsDawn. Dafür muss die App installiert sein: Ohne sie endet marsdawn open mit Code 3 und meldet, dass MarsDawn nicht installiert ist. export braucht die App nicht. Die App gibt es im Mac App Store.

marsdawn open notes.md
marsdawn open notes.md:120
marsdawn open notes.md --line 120
marsdawn open .
marsdawn open notes.md --folder .

Zeilen kamen mit marsdawn 0.3.0 hinzu, Ordner und --background mit 0.5.1, --wait und der Ordnerstatus mit 0.5.3.

marsdawn export

Rendert eine Markdown-Datei als PDF mit Seiten, mit demselben Exporter, den der PDF-Export von MarsDawn selbst verwendet. Die App MarsDawn wird dafür nicht gebraucht. Relative Bilder werden vom Ordner der Eingabedatei aus aufgelöst.

marsdawn export notes.md -o notes.pdf --theme classic --paper a4

--breaks kam mit marsdawn 0.7.0 hinzu, --layout und --toc-title mit 0.7.1, der Wert handbook mit 0.7.2. Der alte Wert aus 0.7.1, manual, funktioniert weiterhin.

marsdawn theme

Prüft eine Themendatei (theme.json) und zeigt, wie sie aussieht, bevor du sie teilst. Die App MarsDawn wird dafür nicht gebraucht. Die Felder eines Themas findest du unter Mit deinem Agenten ein Thema erstellen.

marsdawn theme validate my-theme.json
marsdawn theme css my-theme.json
marsdawn theme preview my-theme.json --appearance dark -o preview.png

Die theme-Befehle kamen mit marsdawn 0.6.1 hinzu.

Die Variable $MARSDAWN_THEME

Wird --theme nicht übergeben, liest export die Umgebungsvariable $MARSDAWN_THEME. Ihr Wert muss dawn, classic, modern oder vivid sein; alles andere fällt auf dawn zurück. Die CLI liest nicht die Thema-Einstellung der App, weil das Lesen des Containers einer anderen App eine Datenschutzabfrage von macOS auslösen kann.

Dateien überschreiben

export ersetzt keine vorhandene Ausgabedatei, es sei denn, du übergibst --force.

Exit-Codes

CodeBedeutungWas tun
0Erfolg.Mit --json die eine JSON-Zeile auf stdout lesen
2Eingabe nicht gefunden.Pfad und Dateinamen prüfen
3MarsDawn ist nicht installiert (nur open).Die App installieren oder export verwenden, das sie nicht braucht
4Ausgabe existiert bereits (--force übergeben).--force übergeben, um sie zu ersetzen, oder mit -o woandershin schreiben
5Export fehlgeschlagen.message im JSON-Ergebnis lesen
6Dieses MarsDawn kann keinen Ordner anzeigen, daher wurde nichts geöffnet (nur open).
64Bedienungsfehler, etwa eine Zeile außerhalb des Bereichs, --line mit mehr als einer Datei oder mit einem Ordner, oder mehr als ein Ordner.Option oder Wert korrigieren; dieser Fehler erscheint als Text auf stderr, auch mit --json

--json-Ausgabe

Bei Erfolg gibt marsdawn open --json ok, opened (eine Liste mit dem path jeder Datei, dazu line, wenn eine Zeile angefragt wurde), app (den Pfad der App) und, wenn ein Ordner angegeben wurde, folder aus. marsdawn export --json gibt ok, output, pages, theme, paper und diagramErrors aus. Bei einem Fehler geben beide ok, error und message aus.