Open-source macOS markdown editor with a split-pane live preview. Built with Tauri, Rust, Vue 3, and the Grundtone design system.
- Side-by-side editor and live preview
- Resizable split pane
- File tree sidebar for quick navigation between markdown files
- Keyboard shortcuts for files, navigation, and panels
- Live disk sync — external changes reload automatically (with conflict prompt when unsaved)
- Multi-language UI — Danish, Swedish, Norwegian, English, German, Spanish
- Native macOS menus
- Rust file I/O and filesystem watching via Tauri
- Grundtone UI components and prose styling
- Node.js 20+
- pnpm 10+ (
corepack enableorbrew install pnpm) - Rust (install via Homebrew:
brew install rust) - macOS (primary target)
cd mdhaus
pnpm install
pnpm tauri:devWeb-only (no Tauri shell):
pnpm devpnpm tauri:buildThe packaged app is written to src-tauri/target/release/bundle/ as open mdHaus.app.
brew tap klanghaus/tap
brew install --cask open-mdhausRequires a GitHub release (tag v*, built by CI).
- Ensure Settings → Actions → General → Workflow permissions is set to Read and write.
- Tag and push:
git tag v0.1.0 && git push origin v0.1.0 - Wait for the Release workflow to finish.
- Update the cask checksums:
./scripts/update-cask-sha.sh v0.1.0 - Push
homebrew-tap/to KlangHaus/homebrew-tap.
Optional: add Apple code-signing secrets (APPLE_CERTIFICATE, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_PASSWORD, APPLE_TEAM_ID) for notarized builds without Gatekeeper warnings.
mdhaus/
├── src/ # Vue frontend
│ ├── components/ # Editor, preview, modals, shell
│ ├── composables/ # Workspace, shortcuts, Tauri integration
│ ├── lib/ # Markdown renderer, helpers
│ └── i18n/ # Locales (da, sv, nb, en, de, es)
└── src-tauri/ # Rust backend (I/O, watch, menu)
MIT — see LICENSE.