English | 简体中文
- Fantastic: Local-first, no data collection, split editor & preview, wikilink backlinks, LaTeX, Mermaid
- Beautiful: Minimalist design, three-column layout, dark mode, macOS 26 glass, distraction-free
- Fast: Swift 6 native, better performance than Electron-based apps
- Simple: Lightweight, version history, keyboard shortcuts, auto-formatting
-
Mac App Store (paid, automatic updates):
-
Homebrew:
brew install --cask miaoyan
-
GitHub Releases: download the latest DMG from GitHub Releases (macOS 11.5+)
All three options share the same codebase and receive the same updates. After installing, create a MiaoYan folder in iCloud Drive, a desktop cloud-drive folder, or your preferred location, open Preferences (⌘,), and set the storage path.
MiaoYan is local-first and does not sign in to WebDAV or cloud-drive accounts. It reads and writes the Markdown folder you choose. iCloud Drive, Nutstore, Dropbox, or another cloud-drive client handles cross-device sync.
- Mac: Create a
MiaoYanfolder inside the local folder synced by the Nutstore desktop client, then point MiaoYan's storage location to it in Preferences. - iPhone: Pick the same cloud-drive folder from the system Files app. If a provider does not expose a writable folder in Files, use iCloud Drive or make the folder available offline in that provider app before choosing it.
- Folder check: MiaoYan verifies read and write access before switching folders. If the folder is unavailable, the current storage path stays unchanged.
MiaoYan provides a command-line interface for quick note operations.
# Install
curl -fsSL https://raw.githubusercontent.com/tw93/MiaoYan/main/scripts/install.sh | bash
# Usage
miao open <title|path> # Open note or folder
miao new <title> [text] # Create new note
miao search <query> # Search notes in terminal
miao list [folder] # List top-level folders, or markdown in folder
miao cat <title|path> # Print note content
miao update # Update CLIEdit and preview side by side with real-time preview and 60fps bidirectional scroll sync.
Quick Toggle: Press ⌘\ to instantly toggle split view mode, or enable it in Preferences → Interface → Edit Mode → Split Mode.
Why not WYSIWYG like Typora? We prioritize pure Markdown editing experience, and implementing WYSIWYG in native Swift is overly complex with reliability concerns. Split mode maintains clean editing while providing instant visual feedback.
- Markdown Syntax Guide - Complete syntax reference with advanced features
- PPT Presentation Mode - Guide to creating presentations with
---slide separators
- The most direct way to support me is getting Mole for Mac, my paid Mac cleanup app.
- If MiaoYan helped you, give it a star, share it, or open an issue or PR.
- I have two cats, TangYuan and Coke. If you think MiaoYan delights your life, you can feed them canned food 🥩.
- glushchenko/fsnotes - Initial project structure reference
- stackotter/swift-cmark-gfm - Swift Markdown parser
- simonbs/Prettier - Markdown formatting utilities
- raspu/Highlightr - Syntax highlighting
- TsangerType - TsangerJinKai font (default font)
- hakimel/reveal.js - PPT presentation framework
MIT License - Feel free to use and contribute.