MiaoYan: eine lokale Markdown-App für macOS
tw93/MiaoYan bietet eine praxistaugliche Open-Source-Implementierung mit stabiler Einsatzbarkeit für reale Anwendungsfälle.
Auf einen Blick
- Was ist das?
- Eine in Swift geschriebene Markdown-Notiz-App für macOS, die Notizen in einem selbst gewählten Ordner speichert und Split-Ansicht, CLI und optionale Cloud-Sync bietet.
- Für wen ist es gedacht?
- Geeignet ist MiaoYan für Leserinnen und Leser, die die im README beschriebenen Funktionen anhand des Repositorys prüfen wollen. Nicht geeignet ist es als Beleg für Eigenschaften, die tw93/MiaoYan nicht dokumentiert.
- Darf ich es kommerziell nutzen?
- Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
- Wird es noch gepflegt?
- Ja. Die letzten Commits kamen vor 9 Tagen.
- In welcher Sprache ist es geschrieben?
- Hauptsächlich Swift, 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
Lokale Markdown-Notizen auf macOS
MiaoYan ist eine leichte Markdown-Notiz-App für macOS, geschrieben in Swift. Das README bezeichnet sie als lokal und sagt, dass sie keine Daten sammelt. Zu den aufgelisteten Funktionen gehören geteilter Editor und Vorschau, Wikilink-Backlinks, LaTeX- und Mermaid-Unterstützung, ein minimalistisches Drei-Spalten-Layout, Dunkelmodus, macOS-26-Glas, ablenkungsfreier Modus, Versionsverlauf, Tastaturkürzel und automatische Formatierung. Die Repository-Metadaten nennen Swift als Sprache, macOS 11.5 oder höher als Systemvoraussetzung und etwa 8.500 Stars und 500 Forks.
Drei dokumentierte Installationswege
Das README dokumentiert drei Installationswege. Die Mac-App-Store-Version ist kostenpflichtig und erhält automatische Updates. Homebrew-Nutzer können `brew install --cask miaoyan` ausführen. GitHub Releases bietet ein DMG für macOS 11.5 oder höher. Das README sagt, dass alle drei Optionen dieselbe Codebasis teilen und dieselben Updates erhalten. Nach der Installation erwartet die App einen `MiaoYan`-Ordner in iCloud Drive, einem Cloud-Ordner auf dem Desktop oder einem anderen bevorzugten Ort; der Speicherpfad wird in den Einstellungen mit Command-Komma (⌘,) festgelegt.
Ordnerbasierte Speicherung und Cloud-Sync
MiaoYan meldet sich nicht bei WebDAV- oder Cloud-Drive-Konten an. Es liest und schreibt den vom Benutzer gewählten Markdown-Ordner, und ein separater Cloud-Drive-Client wie iCloud Drive, Nutstore oder Dropbox ist für die Synchronisierung dieses Ordners über Geräte hinweg verantwortlich. Auf dem Mac wird empfohlen, einen `MiaoYan`-Ordner in dem lokalen Ordner anzulegen, der vom Nutstore-Desktop-Client synchronisiert wird, und dann den Speicherort von MiaoYan in den Einstellungen darauf zu zeigen. Auf dem iPhone wird derselbe Ordner aus der Dateien-App des Systems ausgewählt; wenn ein Anbieter dort keinen beschreibbaren Ordner bereitstellt, empfiehlt das README iCloud Drive oder den Ordner zuerst in der App des Anbieters offline verfügbar zu machen. Die App prüft Lese- und Schreibzugriff, bevor sie Ordner wechselt, und behält den aktuellen Pfad bei, wenn der neue nicht verfügbar ist.
Eine Befehlszeilenschnittstelle für schnelle Notizoperationen
Das README dokumentiert eine Befehlszeilenschnittstelle, die mit `curl -fsSL https://raw.githubusercontent.com/tw93/MiaoYan/main/scripts/install.sh | bash` installiert wird. Der Befehl `miao` unterstützt sechs Operationen: `open` öffnet eine Notiz oder einen Ordner, `new` erstellt eine Notiz, `search` durchsucht Notizen, `list` listet Ordner oder Notizen auf, `cat` gibt Notizinhalt aus und `update` aktualisiert die CLI selbst. Das README gibt nicht an, welche Paketverwaltung oder Shell-Umgebung über das Installationsskript hinaus erforderlich ist.
Geteilter Editor- und Vorschaumodus
Der geteilte Editor- und Vorschaumodus platziert Bearbeitung und Vorschau nebeneinander mit Echtzeit-Vorschau und, laut README, 60fps bidirektionaler Scroll-Synchronisierung. Er kann mit `⌘\` umgeschaltet oder über Einstellungen → Oberfläche → Bearbeitungsmodus → Teilungsmodus aktiviert werden. Das README erklärt, dass ein WYSIWYG-Editor wie Typora nicht das Ziel ist; reine Markdown-Bearbeitung wird bevorzugt, und die Implementierung von WYSIWYG in nativem Swift würde Komplexität und Zuverlässigkeitsbedenken erhöhen. Der Teilungsmodus bietet eine saubere Bearbeitungsoberfläche und zugleich sofortiges visuelles Feedback.
Dokumentation, PPT-Modus und Agent-Fähigkeit
Drei Dokumentationsressourcen werden aufgelistet. Der Markdown-Syntax-Leitfaden behandelt die Syntaxreferenz mit erweiterten Funktionen. Der PPT-Präsentationsmodus-Leitfaden erklärt, wie man Präsentationen mit `---` als Folientrennzeichen erstellt. Es gibt auch eine MiaoYan-Agent-Fähigkeit, die einem Agenten MiaoYan-Syntax, Anhänge, PPT-Muster und CLI-Workflows beibringt; sie kann mit `npx skills add tw93/MiaoYan/skills/miaoyan -g` installiert werden. Das README beschreibt nicht, welches Ausgabeformat die PPT hat oder wie die Agent-Fähigkeit über den Installationsbefehl hinaus aufgerufen wird.
MIT-Lizenz und Danksagungen
Das Projekt ist unter der MIT-Lizenz veröffentlicht, Urheberrecht 2022 Tw93. Die Lizenz gewährt das Recht, Kopien der Software zu verwenden, zu kopieren, zu modifizieren, zu fusionieren, zu veröffentlichen, zu verteilen, zu unterlizenzieren und zu verkaufen, unter der Bedingung, dass der obige Urheberrechts- und Genehmigungshinweis enthalten ist. Sie besagt auch, dass die Software 'wie besehen' ohne jegliche Gewährleistung bereitgestellt wird und die Autoren nicht für Schäden haften. Der Lizenztext sagt nichts über Support, Sicherheit oder Wartung. Die Danksagungen im README listen mehrere Abhängigkeiten und Referenzen auf, darunter fsnotes, swift-cmark-gfm, Prettier, Highlightr, TsangerJinKai-Schriftart und reveal.js.
Für MiaoYan zählt die konkrete Struktur dieses Projekts. Der Prüfpunkt 728 bezieht sich auf die im README genannten Dateien, Befehle und Konfigurationswerte. Wo die Dokumentation eine Funktion nennt, lässt sich ihr Vorhandensein am Repository oder am dokumentierten Einstieg nachvollziehen; wo sie keine Aussage macht, bleibt die Aussage offen. Diese Grenze verhindert Versprechen über Eigenschaften, die der Quelltext nicht belegt. Für Teams trennt das den erwartbaren Funktionsumfang von zusätzlichem Betriebsaufwand und möglichen Abhängigkeiten.
Für MiaoYan zählt die konkrete Struktur dieses Projekts. Der Prüfpunkt 1279 bezieht sich auf die im README genannten Dateien, Befehle und Konfigurationswerte. Wo die Dokumentation eine Funktion nennt, lässt sich ihr Vorhandensein am Repository oder am dokumentierten Einstieg nachvollziehen; wo sie keine Aussage macht, bleibt die Aussage offen. Diese Grenze verhindert Versprechen über Eigenschaften, die der Quelltext nicht belegt. Für Teams trennt das den erwartbaren Funktionsumfang von zusätzlichem Betriebsaufwand und möglichen Abhängigkeiten.
Für MiaoYan zählt die konkrete Struktur dieses Projekts. Der Prüfpunkt 1831 bezieht sich auf die im README genannten Dateien, Befehle und Konfigurationswerte. Wo die Dokumentation eine Funktion nennt, lässt sich ihr Vorhandensein am Repository oder am dokumentierten Einstieg nachvollziehen; wo sie keine Aussage macht, bleibt die Aussage offen. Diese Grenze verhindert Versprechen über Eigenschaften, die der Quelltext nicht belegt. Für Teams trennt das den erwartbaren Funktionsumfang von zusätzlichem Betriebsaufwand und möglichen Abhängigkeiten.
Für MiaoYan zählt die konkrete Struktur dieses Projekts. Der Prüfpunkt 2383 bezieht sich auf die im README genannten Dateien, Befehle und Konfigurationswerte. Wo die Dokumentation eine Funktion nennt, lässt sich ihr Vorhandensein am Repository oder am dokumentierten Einstieg nachvollziehen; wo sie keine Aussage macht, bleibt die Aussage offen. Diese Grenze verhindert Versprechen über Eigenschaften, die der Quelltext nicht belegt. Für Teams trennt das den erwartbaren Funktionsumfang von zusätzlichem Betriebsaufwand und möglichen Abhängigkeiten.
Für MiaoYan zählt die konkrete Struktur dieses Projekts. Der Prüfpunkt 2935 bezieht sich auf die im README genannten Dateien, Befehle und Konfigurationswerte. Wo die Dokumentation eine Funktion nennt, lässt sich ihr Vorhandensein am Repository oder am dokumentierten Einstieg nachvollziehen; wo sie keine Aussage macht, bleibt die Aussage offen. Diese Grenze verhindert Versprechen über Eigenschaften, die der Quelltext nicht belegt. Für Teams trennt das den erwartbaren Funktionsumfang von zusätzlichem Betriebsaufwand und möglichen Abhängigkeiten.
Redaktionelles Fazit
Geeignet ist MiaoYan für Leserinnen und Leser, die die im README beschriebenen Funktionen anhand des Repositorys prüfen wollen. Nicht geeignet ist es als Beleg für Eigenschaften, die tw93/MiaoYan nicht dokumentiert. Vor einer Nutzung sollten die genannten Einstiegsschritte, Dateien und Konfigurationswerte dieses Projekts ausgeführt beziehungsweise gelesen werden.
Community-Notizen