SoloMD v2.5 — Polish the writer's day
✨ v2.5 — Polish the writer's day
Seven small features that don't make the press but keep daily users. Every one of them is a paper-cut a long-form writer (or a CJK writer) hits on a normal day, and that we now make go away.
⌘P — quick file switcher
VSCode-style fuzzy file picker. Type ⌘P, type a few letters of any filename, hit Enter. MRU first, then most-frequently-edited, then any other open tab. Path column truncates from the left so you always see the parent folder. PDF print is now ⌘⌥⇧P.
✍️ Word goals + writing stats
Drop goal: 1500 into a doc's YAML front matter — the status bar grows a progress pill (247 / 1500 words · 16%) that pulses green at 100 %. Click it for the writing-session popover with delta-since-opened / delta-since-saved / streak. Optional workspace-level "Today: 1,200 words across 3 docs" pill, off by default.
Goal unit is words (default), chars, or cjk — same word counter that powered the Chinese-character status bar since v1.
📄 PDF / print defaults
Settings → "PDF / print export". Choose page size (A4 / A5 / Letter / Legal / Custom mm), margin preset (Narrow 10mm / Normal 15mm / Wide 25mm / Custom), font + size, page-number footer, code-block theme. Per-document override via a pdf: block in YAML front matter (pdf: { pageSize: A4, margin: 25mm }).
Backwards compatible: if you've never opened the new section and your doc has no pdf: block, exports look exactly like v2.4.
🍅 Pomodoro / Zen focus session
Toolbar chevron next to the focus-mode button → Start 25 / 50 / 90 min focus, or a custom duration. ⌘⇧Z starts your last preset (25 min default). Status bar pill counts down (🍅 12:34), click to pause, right-click for menu. Optional auto-engage focus mode + auto-break + system notification on completion. Survives reload — count picks up where it left off.
🎨 Theme marketplace
A new "Browse community themes" button in Settings → Custom CSS opens a grid of curated .css themes. Click Install — the file lands in <config_dir>/themes/<id>.css, sets itself as the active Custom CSS, ready in two seconds. Four starter themes:
- Amber Dark — warm amber on charcoal, late-night writing
- Nord Light — Nord palette flipped to light
- Pure Black OLED — true black, OLED-saver
- Sepia — paper-like for reading mode
Public catalog at https://solomd.app/themes/. Manifest is plain JSON; submit a PR to add yours.
🇨🇳 CJK proofread
⌘⇧J (J for "句") opens a panel that flags six categories of common Chinese typography issues:
- Half-width punctuation in CJK context (
,?!:after Han → suggests,?!:) - Latin quotes around Han text (
"汉字"→"汉字") - 的 / 地 / 得 misuse (
非常的精彩→非常地精彩, conservative ~30-stem dictionary) - Doubled
的的,了了,是是 - Missing space between CJK and Latin / digits (suggests U+202F narrow space)
- Missing space between digit and unit (
5GB硬盘→5 GB 硬盘)
Click any row to jump to the offending text. Per-row Apply or Apply-all-of-this-severity. False-negative-favoured — we only flag when patterns are confident.
/ slash commands (community request #30)
Type / on a new line — Notion-style popup with 20 markdown blocks (H1/2/3, lists, todo, code, quote, divider, 3×3 table, math, mermaid, link, image, bold/italic/strikethrough/inline-code, frontmatter). ↑↓ to navigate, Enter to insert, Esc to dismiss. Suppressed inside code blocks. Toggle off in Settings if you don't like the keyboard interception.
📦 Downloads
| Platform | File |
|---|---|
| macOS (Universal, signed + notarized) | SoloMD_2.5.0_universal.dmg |
| Windows | SoloMD_2.5.0_x64-setup.exe / SoloMD_2.5.0_x64_en-US.msi / SoloMD_2.5.0_x64-portable.zip |
| Linux x64 | .AppImage / .deb / .rpm |
| Linux arm64 | .AppImage / .deb / .rpm |
| MCP server-only | solomd-mcp-{mac-universal,linux-x64,linux-arm64}.tar.gz / -win-x64.zip |
| Browser clipper | solomd-clipper-{chrome,firefox}.zip |
17 artifacts total — same matrix as v2.4.2.
Engineering notes
- Built in 7 parallel git-worktree agents (1 day total), single integration PR (#40).
- Theme marketplace agent flagged a vestigial
lib.rs::run()that doesn't reach the running app — the live entrypoint isrunner.rs. Future Tauri commands need to land in both. - CJK proofread is regex-based (no LLM); covers Han Unified + Ext A/B-E + Compat blocks via a hand-rolled char-range checker.
- Settings store now has 5 new top-level keys (
showWritingStats/showWorkspaceDailyTotal/pdfDefaults/pomodoroShowControls/slashCommandsEnabled) — all backwards-compatible via clamping merge inload().
🤖 Generated with Claude Code