MarsDawn

Ligne de commande

L’outil en ligne de commande gratuit marsdawn : exportez du Markdown en PDF depuis un shell ou un agent LLM et, si l’app MarsDawn est installée, ouvrez-y des fichiers.

marsdawn est gratuit et distribué séparément du Mac App Store. Installez-le avec Homebrew : sur un Mac avec puce Apple, il arrive prêt à l’emploi. export fonctionne seul ; open nécessite l’app MarsDawn.

Vous appelez marsdawn depuis un agent IA ou un script ? Consultez marsdawn pour les agents pour la sortie JSON, ses schémas et tous les codes de sortie, ou le serveur MCP si votre agent appelle plutôt des outils via MCP.

Installation

Avec Homebrew :

brew tap redtear1115/tap && brew install marsdawn

Vous utilisez un agent de code ? Exécutez marsdawn skill --install pour ajouter la skill marsdawn : un seul fichier qui lui apprend à ouvrir ce qu’il a écrit dans MarsDawn pour que vous le relisiez, et à exporter des PDF.

Sur un Mac avec puce Apple, Homebrew installe une copie précompilée en quelques secondes, sans rien d’autre à installer. Sur un Mac Intel, il compile marsdawn à partir des sources, ce qui prend quelques minutes et nécessite Xcode 26 ou version ultérieure (Swift 6.2). L’outil fonctionne sous macOS 15 ou version ultérieure.

Vous pouvez aussi le compiler à partir des sources avec Swift Package Manager :

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

Vérifiez votre version avec marsdawn --version.

Commandes

marsdawn open

Ouvre un ou plusieurs fichiers Markdown dans l’app MarsDawn pour les relire. L’app doit être installée : sans elle, marsdawn open se termine avec le code 3 et indique que MarsDawn n’est pas installé. export n’a pas besoin de l’app. L’app est disponible sur le 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 .

Les lignes sont arrivées avec marsdawn 0.3.0, les dossiers et --background avec la 0.5.1, et --wait et l’état du dossier avec la 0.5.3.

marsdawn export

Convertit un fichier Markdown en PDF paginé, avec le même moteur d’export que celui de MarsDawn. Il n’a pas besoin de l’app MarsDawn. Les images relatives sont résolues par rapport au dossier du fichier d’entrée.

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

--breaks est arrivé avec marsdawn 0.7.0, --layout et --toc-title avec la 0.7.1, et la valeur handbook avec la 0.7.2. L’ancienne valeur de la 0.7.1, manual, fonctionne toujours.

marsdawn theme

Vérifie un fichier de thème (theme.json) et montre son rendu avant que vous le partagiez. L’app MarsDawn n’est pas nécessaire. Pour les champs d’un thème, voir Créer un thème avec votre agent.

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

Les commandes theme sont arrivées avec marsdawn 0.6.1.

La variable $MARSDAWN_THEME

Quand --theme n’est pas passé, export lit la variable d’environnement $MARSDAWN_THEME. Sa valeur doit être dawn, classic, modern ou vivid ; toute autre valeur revient à dawn. La CLI ne lit pas le réglage de thème de l’app, car lire le conteneur d’une autre app peut déclencher une demande d’autorisation de confidentialité de macOS.

Écraser des fichiers

export refuse de remplacer un fichier de sortie existant, sauf si vous passez --force.

Codes de sortie

CodeSignificationQue faire
0succès.Avec --json, lire l’unique ligne JSON sur stdout
2entrée introuvable.Vérifier le chemin et le nom du fichier
3MarsDawn n’est pas installé (open uniquement).Installer l’app, ou utiliser export, qui n’en a pas besoin
4la sortie existe déjà (passez --force).Passer --force pour le remplacer, ou -o pour écrire ailleurs
5échec de l’export.Lire message dans le résultat JSON
6ce MarsDawn ne peut pas afficher de dossier, donc rien n’a été ouvert (open uniquement).
64erreur d’utilisation, notamment une ligne hors limites, --line avec plus d’un fichier ou avec un dossier, ou plus d’un dossier.Corriger l’option ou la valeur ; cette erreur est du texte sur stderr, même avec --json

Sortie --json

En cas de succès, marsdawn open --json affiche ok, opened (une liste avec le path de chaque fichier, plus line quand une ligne a été demandée), app (le chemin de l’app) et, quand un dossier a été donné, folder. marsdawn export --json affiche ok, output, pages, theme, paper et diagramErrors. En cas d’échec, les deux affichent ok, error et message.