|
|
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 the app
npm run buildWindows
npm install | npm run build- If npm is missing, install Node.js from https://nodejs.org
Linux
npm install && npm run build- If npm is missing:
sudo apt install npm
Dev mode: Coming soon
Most users should install SnapDock using the prebuilt packages available on the Releases page:
👉 https://github.com/ZFordDev/SnapDock/releases
Windows
- Download the
.exeinstaller - Run it
- SnapDock is ready to use
Linux
- Download the
.AppImageor.debpackage
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.debNo 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)
Planned improvements and upcoming development goals for SnapDock.
This list reflects active GitHub issues and near‑term release targets.
-
Ecosystem Standards Migration
Documentation improvements and alignment with ZFordDev ecosystem standards
(#109) -
Integrate New Updater Logic
Modernized update pipeline for V3 and future releases
(#104)
-
Replace Electron Frame With Custom SnapDock Frame
Cleaner, native-feeling window chrome
(#95) -
Add Tab Overflow Scrolling / Horizontal Scroll
Improves usability for large workspaces
(#87)
-
Windows Store Release
Submission + certification for Microsoft Store -
Snap Store Release
Snapcraft packaging + publishing
- New developer mode (
npm run dev) - Theme engine improvements + custom theme support
- Enhanced PDF export pipeline
- V3 UI/UX redesign
- Import custom
.sdwpfiles as virtual workspaces
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.

