MiaoYan

A quiet, distraction-free writing app for macOS

English · 中文 · 繁體 · 日本語 · 한국어 · Deutsch · Français

Twitter Follow Telegram GitHub Downloads GitHub Commit Activity GitHub Closed Issues macOS 12.0+
## Features - **Local-first**: Your notes stay on your Mac. No cloud by default, no tracking. - **Focused**: A clean three-column view with dark mode, free from plugin fatigue. - **Native**: Native Swift is lighter and faster than web wrappers, with smooth split preview. - **Capable**: Wikilinks, math, charts, and slide decks—ready when you need them. ## Installation 1. **Mac App Store** (paid, automatic updates, includes the iPhone and iPad app): Download on the Mac App Store 2. **Homebrew**: ```bash brew install --cask miaoyan ``` 3. **GitHub Releases**: download the latest DMG from [GitHub Releases](https://github.com/tw93/MiaoYan/releases/latest) (macOS 12.0+) Homebrew and GitHub Releases install this open-source app, which now receives fixes only. The App Store edition is developed separately, includes the iPhone and iPad app, and is where new features land. 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. ## Sync with Nutstore or Other Cloud Drives 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 `MiaoYan` folder 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. ## CLI MiaoYan provides a command-line interface for quick note operations. ```bash # Install curl -fsSL https://raw.githubusercontent.com/tw93/MiaoYan/main/scripts/install.sh | bash # Usage miao open # Open note or folder miao new [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 CLI ``` ## Split Editor & Preview Mode Edit 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? Pure Markdown editing is the whole point. Native WYSIWYG in Swift is heavy and fragile; split mode keeps writing focused while giving you instant, synchronized visual feedback. <img src="https://gw.alipayobjects.com/zos/k/eg/jV8Gra.png" width="100%" alt="Split Editor & Preview Mode" /> ## Documentation - [Markdown Syntax Guide](Resources/Initial/MiaoYan%20Markdown%20Syntax%20Guide.md) - Complete syntax reference with advanced features - [PPT Presentation Mode](Resources/Initial/MiaoYan%20PPT.md) - Guide to creating presentations with `---` slide separators - [MiaoYan Agent Skill](skills/miaoyan) - Teach your agent MiaoYan syntax, attachments, PPT patterns, and CLI workflows Install the official skill with `npx skills add tw93/MiaoYan/skills/miaoyan -g`. ## Support - The most direct way to support me is getting [Mole for Mac](https://mole.fit), my paid Mac cleanup app. - If MiaoYan helped you, give it a star, [share it](https://twitter.com/intent/tweet?url=https://github.com/tw93/MiaoYan&text=MiaoYan%20-%20A%20fast%2C%20elegant%20Markdown%20editor%20for%20Mac.), or open an issue or PR. - I have two cats, TangYuan and Coke. If MiaoYan brings you joy, you can feed them <a href="https://cats.tw93.fun?name=MiaoYan" target="_blank">canned food 🥩</a>. <details> <summary>These lovely people already did 🐱</summary> <br/> <a href="https://cats.tw93.fun?name=MiaoYan"><img src="https://cdn.jsdelivr.net/gh/tw93/sponsors@main/assets/sponsors.svg" width="1000" loading="lazy" /></a> </details> ## Acknowledgments - [glushchenko/fsnotes](https://github.com/glushchenko/fsnotes) - Initial project structure reference - [stackotter/swift-cmark-gfm](https://github.com/stackotter/swift-cmark-gfm) - Swift Markdown parser - [simonbs/Prettier](https://github.com/simonbs/Prettier) - Markdown formatting utilities - [raspu/Highlightr](https://github.com/raspu/Highlightr) - Syntax highlighting - [hakimel/reveal.js](https://github.com/hakimel/reveal.js) - PPT presentation framework ## License MIT License - Feel free to use and contribute.