A small polish pass on top of v2.0. Nothing dramatic — every change just makes the app sit a little more naturally next to native macOS chrome.
- Cleaner toolbar. The hairline under the toolbar is gone; buttons sit cleanly on the window background
- Unified icon palette. View-mode buttons in the toolbar and the divider lock now share the same gray ramp macOS uses for native toolbar items
- Smoother divider. Wider grab zone, refined scroll-lock pill, and a generous hover handoff so the cursor flips back to the standard arrow before you reach the lock
- App icon refreshed — Bebas Neue
#on the site's slate brand, cleaner output across every size - Social card. Links to markemark.app now render as a full-card preview on iMessage, Slack, X, and LinkedIn
v2.0 is everything since the first public release folded into one headline: press Space on any .md file in Finder and see it rendered — with inline images, syntax highlighting, and dark mode. That gesture was always the product; 2.0 is when it actually works end-to-end. Plus a new home at markemark.app with a redesign that finally does the app justice.
- Quick Look, for real. Spacebar on any
.mdor.markdownfile shows a fully rendered preview — headings, code, tables, checklists, inline images. Open a folder once in the app, every file inside previews cleanly after that - Inline images everywhere. Obsidian-style embeds (
![[screenshot.png]]) and relative paths () render in the editor's preview, in Quick Look, in HTML export, and in printed PDF. Your.mdstays plain text on disk; images stay as files next to them - Obsidian-style wiki links.
[[page]],[[page|alias]], and[[page#section|alias]]render as subtle dark-purple underlined text across preview, HTML, PDF, print, and Quick Look. Edit the displayed text in the preview pane and it round-trips back as an alias - Pane sync that stays out of the way. Scroll the editor, the preview follows the same proportion of the document. A sync caret tracks your cursor. Toggle sync off with ⇧⌘Y when a tall image pushes one pane ahead of the other
- Preview-pane shortcuts. Cmd+B/I/K, undo/redo, and friends work in whichever pane has focus — not just the editor
- ~3× faster keystroke-to-preview latency (550 ms → 200 ms). Native AppKit pane divider, layer-backed editor scroll, syntax highlighting that skips unchanged code blocks, and a Combine-driven render pipeline that keeps heavy work off the main thread
- New site, new home. markemark.app is the canonical URL. Real product screenshots, auto dark mode, and a scroll-scrubbed Quick Look preview in the hero
Native printing and the foundations of pane sync. The two big things people wanted from a markdown editor that takes itself seriously.
- Print & PDF with 1–9 column reflow. Cmd+P opens a live preview with a column stepper, portrait/landscape toggle, and a zoom slider that reflows text across the page. Checklists, weekly schedules, and reference cards finally fit on one page
- Pane sync. Scroll the editor, the preview follows. Scroll the preview, the editor follows. Both stay aligned to the block you're looking at, with a sync caret tracking your cursor within a paragraph
- Round-trip fidelity. Code-block language tags, footnotes, and bare URLs all survive editing in the preview pane intact — no more silent rewrites of your markdown
- Wiki links render in Quick Look too, matching the main app
com.apple.security.print sandbox entitlement — the sandbox was silently blocking every print IPC call regardless of API surface. The print implementation itself was fine the whole time.
Format shortcuts finally work where you'd expect them — in whichever pane has focus.
- Cmd+B/I/K, Cmd+Shift+X, and friends now work in the preview pane as well as the editor
- Strikethrough round-trips cleanly through preview edits
- Interactive tutorial replaces the old welcome screen
The app can now tell you when a new version is available.
- Auto-checks for updates on launch (once per day, fails silently offline)
- "Check for Updates…" menu item for manual checks
- Automated release pipeline — build, sign, notarize, package DMG, and generate version manifest in one command
The first public release. Getting a macOS app from "works on my machine" to "works on anyone's machine" turned out to be its own project.
- Website launch and notarized DMG distribution
- Quick Look extension for previewing .md files in Finder
- Table rendering and clickable task-list checkboxes
- Bundled highlight.js locally for fully offline syntax highlighting
The release where MarkeMark went from a working prototype to something you'd want to use daily.
- Full GFM rendering: tables, task lists, nested lists, footnotes, highlights, auto-links
- Syntax highlighting with highlight.js (auto-detects language)
- Find bar (Cmd+F) with real-time match counting, next/previous, case sensitivity
- Export as HTML — self-contained file with all CSS and JavaScript inlined
- Undo/redo from either pane
After several sessions and roughly 1,100 lines of code spent trying to mirror selections and cursors between panes, the root design flaw became clear: two independent algorithms that had to agree on block counts, but couldn't — the markdown renderer and the DOM structure used fundamentally different counting. Every fix introduced a new edge case.
The solution was to delete all of it. Sync cursors, selection highlighting, source-line annotation — all removed. Sometimes the best code is code you delete. (Pane sync came back later in v1.5, with a much simpler approach.)
Focused on making the editor feel responsive rather than adding new features.
- 250 ms debounced editor-to-preview sync — no more per-keystroke re-renders
- Incremental DOM updates that preserve scroll position instead of reloading the whole page
- View mode switching: Cmd+1 (preview only), Cmd+2 (editor only), Cmd+3 (split)
- PDF export
- Modern paste handler using the Selection API
The starting point. One question: what if you could edit either side of a markdown editor?
- Split-pane layout with resizable divider
- Bidirectional editing — write markdown on the left, or edit the rendered preview on the right, and changes sync both ways
- Custom markdown renderer and HTML-to-markdown converter
- Dark mode in both panes
- Open and save .md, .markdown, and .txt files