|
|
A Minimal, Modern Markdown Editor
Status: Stable (V2 Classic) • Actively Maintained • V3 in development • Accepting Contributions
Most Markdown editors fall into two extremes: they’re either too minimal to be useful or overloaded with plugins, settings, and IDE‑level complexity. There was no middle ground — nothing stable, calm, and modern that simply lets people write.
SnapDock was created to fill that gap.
It provides a predictable, distraction‑free Markdown workspace for writers, developers, and creators who want clarity, speed, and a local‑first environment that stays out of the way.
SnapDock is a modern, distraction-free Markdown editor built for people who want to write without fighting their tools.
It focuses on clarity, stability, and local-first writing — offering a calm editing experience without plugin overload, IDE complexity, or unnecessary workflow friction.
SnapDock sits between minimalist note apps and heavily extensible writing platforms, providing a predictable and focused desktop writing experience that stays fast and approachable.
- Multi‑tab Markdown editing
- Drag‑and‑drop tab reordering
- Selectable preview modes
- Workspace‑based file management
- Recent file tracking
- Local‑first document workflow
- Lightweight, modern UI
- Multiple built‑in themes
- Cross‑platform desktop support
SnapDock runs on any modern system that supports Electron‑based desktop apps. No additional runtimes or dependencies need to be installed.
Operating System
- Windows 10 or later
- Linux (Ubuntu, Debian, Fedora, Arch, Mint, Pop!_OS, etc.)
- WSL is supported (in‑app updater disabled)
- macOS support is not currently available
Hardware
- CPU: 1 core minimum (2 cores recommended)
- Memory: 512 MB minimum (1 GB recommended)
- Disk Space: ~750 MB
Performance SnapDock typically uses around 180 MB RAM and under 1% CPU during normal editing, making it suitable for low‑power laptops, VMs, and older hardware.
Note for Linux users:
SnapDock AppImage builds requireFUSEto run.
Some modern Linux distributions no longer ship FUSE by default.
Install it using your package manager (e.g.sudo apt install libfuse2on Ubuntu/Debian).
Get SnapDock running from source:
git clone https://github.com/ZFordDev/SnapDock.git
cd SnapDock
# Install dependencies
npm install
# Build a development build
npm run build:devnpm install | npm run build:dev- If npm is missing, install Node.js from https://nodejs.org
npm install && npm run build:dev- If npm is missing:
sudo apt install npm
Note: AppImage builds require FUSE on some distros (
sudo apt install libfuse2).
SnapDock is available through official stores for the easiest and most reliable installation experience.
Install SnapDock directly from the Microsoft Store:
👉 https://apps.microsoft.com/detail/{Placeholder}
Windows Store pending review
This provides:
- Automatic updates
- Clean installation & removal
- Verified publisher security
A standalone .exe installer is also available on GitHub Releases if preferred.
SnapDock is available on the Snap Store:
👉 https://snapcraft.io/markdown-workspace
Install via terminal:
sudo snap install markdown-workspaceThis provides:
- Automatic updates
- Sandboxed, secure environment
- Works across all major distros
If you prefer manual installation:
AppImage
chmod +x SnapDock-Setup.AppImage
./SnapDock-Setup.AppImageIf your distro blocks AppImages, install FUSE or use the
.debpackage instead.
.deb Package
- Double‑click to install via your Software Center
or
sudo apt install ./SnapDock-Setup.debAll installers and portable builds are available on GitHub Releases:
👉 https://github.com/ZFordDev/SnapDock/releases
No additional runtimes or dependencies are required.
SnapDock uses a clean, modular layout. Only the high‑level structure is shown
SnapDock/
├── assets/ # App icons, images, and user guide resources
│
├── src/
│ ├── modules/ # Core application logic
│ │ ├── file/ # File operations, autosave, workspace, tabs
│ │ ├── markdown.js # Markdown rendering pipeline
│ │ ├── pdf/ # PDF export templates and logic
│ │ ├── system/ # Dirty state + update system
│ │ ├── ui/ # UI logic (menus, themes, editor state)
│ │ └── updater/ # In-app update system
│ │
│ ├── styles/ # CSS structure (base, components, themes)
│ ├── preload.js # Electron preload bridge
│ ├── scripts.js # Renderer scripts
│ └── styles.css # Entry stylesheet
│
├── index.html # Main application window
├── main.js # Electron main process
├── build.js # Build pipeline
│
├── README.md
├── LICENSE
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── SECURITY.md
└── temp_notes.md # Internal notes (not part of the app)
SnapDock’s roadmap reflects active GitHub issues and near‑term development priorities.
For the most up‑to‑date list, visit:
https://github.com/ZFordDev/SnapDock/issues
-
Diff Viewer
Side‑by‑side diffing for Markdown documents
(#154) -
Markdown Page Break Syntax for PDF Export
Support for---or\pageto control PDF pagination
(#153) -
Find Box (Ctrl+F Search)
Inline search within the editor
(#152) -
Word Count for Selected Text
Granular writing metrics
(#151)
-
Unlock Native Right‑Click Context Menu
Restore OS‑native context menus for better usability
(#150) -
Editor Status Bar Metrics
Live stats: words, characters, cursor position
(#149) -
Document Outline Panel
Heading‑based navigation sidebar
(#148)
-
Fix markdown‑it‑link‑attributes Wiring
(#135) -
Fix markdown‑it‑emoji Wiring
(#134) -
Fix markdown‑it‑container Wiring
(#133) -
Markdown‑it Plugin Wiring Fix (Renderer Pipeline)
(#132)
-
Improve Versioning Discipline & Release Automation
(#139) -
Improve Build Scripts & Build‑Type Workflow
(#138)
SnapDock is stable on all supported platforms, but one upstream limitation is worth noting:
Some Linux distributions may experience minor rendering or window‑manager issues due to upstream Electron/Chromium behaviour. These issues vary between distros and desktop environments and are outside SnapDock’s direct control.
We continue to update Electron regularly and are evaluating alternative runtimes to maximise long‑term stability on Linux.
SnapDock is part of a growing ecosystem of focused, long‑term tools.
- SnapBoard — Local‑first planning and card system
https://github.com/ZFordDev/SnapBoard
You can support SnapDock by:
- Leaving a ⭐ on GitHub
- Reporting bugs
- Suggesting features
- Improving documentation
- Contributing code
Contributions, bug reports, feature requests, and feedback are welcome.
See CONTRIBUTING.md for project‑specific guidelines.
For ecosystem‑wide expectations, see STANDARDS.md.
See SECURITY.md for vulnerability reporting guidelines.
If no security policy is present, please report issues responsibly via GitHub Issues.
Released under the MIT License.
See LICENSE for details.
This project is part of the ZFordDev ecosystem — a collection of lightweight, practical tools built with clarity, simplicity, and long‑term maintainability in mind.
For ecosystem‑wide standards, see STANDARDS.md.

