Skip to content

SirKayZh/markmate

Repository files navigation

MarkMate ⚡

The free, open-source Typora alternative. A lightning-fast WYSIWYG Markdown editor for macOS & Windows — write in peace, navigate with ease, never lose your work. Also opens JSON, YAML, XML, and JSONL with syntax highlighting.

免费开源的 Typora 替代品。 一款轻快专注的 WYSIWYG Markdown 编辑器,macOS & Windows 双平台。所见即所得 + 大纲导航 + 永不丢稿。还能直接查看 JSON/YAML/XML/JSONL。

platform electron license release

English · 简体中文 · 🌐 Documentation

MarkMate icon

Download   Report Bug   Feedback


📸 Screenshots coming soon — we're preparing high-quality UI screenshots. In the meantime, check out the feature list below or try it yourself.


✨ Features

✍️ Writing Experience

  • WYSIWYG editing — type Markdown, see it rendered instantly (Vditor IR mode, just like Typora)
  • Focus mode (⌘⇧F) — dims everything except the current paragraph, zero distractions
  • Typewriter mode (⌘⇧T) — keeps the cursor vertically centered for long writing sessions
  • Rich content — headings, bold/italic/strikethrough/highlight, lists, blockquotes, tables, code with line numbers, KaTeX math, task lists, footnotes, auto-generated [toc]

🧭 Navigation & File Management

  • Outline tree (⌘) — multi-level collapsible sidebar with persistent fold state; click any heading to jump with visual feedback (toast + flash highlight)
  • File manager panel — three zones in one sidebar: ⭐ Favorites · 🕐 Recent (up to 10) · 📂 Current Folder; collapsible sections with keyword search
  • Quick Open (⌘P) — fuzzy-search across favorites & recent files; keyboard-navigable results
  • Favorites (⌘D) — star frequently-used files for instant access; one-click toggle
  • Document search (⌘F) — find in document with real-time highlighting, prev/next navigation, match counter

🛡️ Never Lose Your Work

  • Auto-save — saves to disk 1.5 s after you stop typing; status bar shows timestamp
  • Version history — each auto-save creates a snapshot (up to 10 per file); browse, preview, restore, or copy any version
  • Draft recovery — unsaved documents are backed up as drafts; next launch shows a recovery banner
  • Close confirmation — native macOS dialog when closing with unsaved changes (Save / Don't Save / Cancel)

🎨 Themes & Layout

  • Appearance mode — Light · Dark · Follow System (⌘/ cycles); syncs with macOS in real time
  • 5 style presets — Default · GitHub · Night · Sepia (warm paper) · Slate (⌘⇧/ cycles); each auto-adjusts the light/dark base
  • Three-column layout — Outline ↔ Editor ↔ Source; drag any divider to resize
  • Source panel (⌘E) — side-by-side rendered view + raw Markdown with bidirectional sync; edit either side

🖼️ Images & Extended Syntax

  • Image drag & paste — drop or paste images into the editor; they auto-save to an assets/ folder beside your document
  • Reveal images folder — File → Show Images Folder in Finder
  • Extended Markdown==highlight== · [^1] footnotes · [toc] directory · CJK auto-spacing · term auto-correction
  • Code line numbers — syntax-highlighted code blocks show line numbers on the left

💻 Lightweight Code & Config Viewer (v1.5.0+)

  • JSON / XML / YAML / JSONL — open these files directly in MarkMate as a lightweight viewer/editor
  • Syntax highlighting — Prism.js-powered highlighting with dual light/dark theme color schemes
  • One-click format — ⌥⌘L to beautify JSON/JSONL/XML; dedicated toolbar button with disabled gray-out hints
  • File type icons — sidebar shows distinct emoji badges per format (📝 .md · 📊 .json · 📋 .xml · ⚙️ .yml/.yaml)
  • Outline auto-clears — when viewing code/config files, the outline panel shows a context-aware message
  • No overhead — code files stay as plain .json / .xml / .yaml on disk; no extra markers or metadata

📤 Multi-format Export (v1.4.0+)

  • PDF (⌘⇧P) — page-break friendly, zero extra dependencies (uses Electron's built-in printToPDF)
  • HTML — single-file with full styling, perfect for email or upload
  • Word (.docx) — opens natively in Word/Pages/WPS
  • Long image (PNG) — 2x DPI snapshot, ideal for social sharing
  • All formats preserve fonts, code blocks, tables, blockquotes and responsive images

🍎 macOS Integration (also runs on Windows)

  • Drag & drop to open — drag .md files onto the window, Dock icon, or even onto a closed app
  • File association — registered handler for .md .markdown .mdown .mkd .mdtext .txt .xml .json .jsonl .yml .yaml; set MarkMate as your default editor in Finder
  • Native feel — inset traffic lights, document-dirty dot, recent files menu, word count in status bar
  • Privacy-aware — won't trigger macOS "access Desktop/Downloads" permission dialogs on first use


🤔 Why MarkMate?

MarkMate Typora VS Code
Price ✅ Free & Open Source ❌ $14.99 ✅ Free
WYSIWYG Editing ✅ Instant render ✅ Instant render ❌ Split preview
macOS + Windows ✅ Both ✅ Both ✅ Both
Built-in File Manager ✅ Favorites / Recent / Folder ❌ None ✅ Explorer
Version Snapshots ✅ 10 per file ❌ None ✅ (via Git)
JSON / YAML / XML Viewer ✅ Syntax highlight + format ❌ None
PDF / HTML / Word Export ✅ One-click ❌ Plugins needed
Startup Speed ✅ Fast ✅ Fast ❌ Slower
Privacy (local-first) ✅ No uploads
Open Source ✅ MIT ❌ Proprietary ✅ MIT

📦 Install

Download the latest release from the Releases page:

macOS:

  • Apple Silicon (M1/M2/M3/M4…): MarkMate-1.6.1-arm64.dmg
  • Intel: MarkMate-1.6.1-x64.dmg

Windows:

  • MarkMate-1.6.1-x64-setup.exe — NSIS installer (recommended)
  • MarkMate-1.6.1-x64-portable.exe — standalone, no install needed

The app is not code-signed / notarized on either platform.

macOS: right-click app → Open, or run xattr -cr /Applications/MarkMate.app

Windows: click More infoRun anyway when SmartScreen prompts

Set as Default Editor

macOS: right-click any .md file in Finder → Open With → choose MarkMate. To make it permanent, select Always Open With or set it in Get Info.

Windows: right-click any .md file → Open with → choose MarkMateAlways use this app.

MarkMate also natively opens .txt files.


⌨️ Keyboard Shortcuts

Action macOS Windows
New ⌘N Ctrl+N
Open ⌘O Ctrl+O
Quick Open ⌘P Ctrl+P
Save ⌘S Ctrl+S
Save As ⌘⇧S Ctrl+⇧S
Toggle Favorite ⌘D Ctrl+D
Find in Document ⌘F Ctrl+F
Toggle Outline ⌘\ Ctrl+\
Toggle Source Panel ⌘E Ctrl+E
Focus Mode ⌘⇧F Ctrl+⇧F
Typewriter Mode ⌘⇧T Ctrl+⇧T
Export PDF ⌘⇧P Ctrl+⇧P
Cycle Appearance ⌘/ Ctrl+/
Cycle Style Theme ⌘⇧/ Ctrl+⇧/

🛠 Development

git clone https://github.com/SirKayZh/markmate.git
cd markmate
npm install
npm start            # launch dev
MARKMATE_DEBUG=1 npm start  # with DevTools

Build

npm run dmg            # build macOS DMG → release/
npm run win            # build Windows (NSIS + portable) → release/
npm run release:patch  # bump patch + build + commit + tag
npm run release:minor  # bump minor + build + commit + tag
npm run release:major  # bump major + build + commit + tag

macOS note: on Apple Silicon, electron-builder's internal hdiutil DMG step may fail due to macOS sandbox restrictions on auto-mounting volumes. The project's build script uses hdiutil makehybrid + convert as a workaround. Windows builds work cross-platform from macOS (electron-builder auto-downloads Wine + NSIS).


🧱 Tech Stack

  • Electron 31 — cross-platform desktop shell (macOS + Windows)
  • Vditor 3 — Markdown IR (instant rendering) engine
  • Main process main.js (menu / file IO / auto-save / version snapshots) + preload.js (secure contextBridge IPC) + src/ (UI)

🔒 Privacy

MarkMate is a local-first editor — your documents never leave your computer.

  • No document content is ever uploaded to any server.
  • No telemetry, no analytics, no tracking in the current version.
  • Future versions may offer opt-in anonymous usage stats (file type distribution, export counts, crash reports) with a clear consent dialog — you can decline or disable it at any time.
  • Full privacy policy: sirkyzh.github.io/markmate/privacy

💬 Feedback & Community

Your feedback shapes MarkMate's future:


🤝 Contributing

Issues and PRs are welcome! Ideas for the roadmap:

  • Multiple tabs / windows (v1.6.0)
  • Custom CSS themes
  • PDF / HTML / Word / Long image export (v1.4.0)
  • Windows support (v1.4.1)
  • Code / config file viewer with syntax highlighting (v1.5.0)
  • Vim key bindings

📄 License

MIT © 2026 MarkMate Contributors