Markdown that reads
like paper

A viewer and editor for the documents you keep, on macOS, Windows and Linux. Warm cream stock, a serif at a fixed reading measure, and GitHub-flavored rendering done entirely offline. No network, no telemetry, no account.

See it

macOS, Windows and Linux, on x64 and ARM64. Needs bun on PATH.

Every construct, written and drawn

The Example page in the folder box is the reference sheet. Three task states, five alerts, typed Fez blocks, and a live gallery of every Fez component you have installed.

Typed blocks are Fez components you can edit

A :::info block is not a special case in the lexer. It is an ordinary Fez component, with a file on disk you can open, change, or replace. The three that ship with the app are the start of that folder, not a closed list.

Built for reading, not for demoing

Every part of it answers a question a markdown reader actually runs into.

One palette, two densities

Default is the original paper-like reading layout. Compact fits more on screen with smaller chrome and document text, tighter line spacing, reduced page padding, and denser code blocks and tables. Pick the style and the colour mode independently; ⇧⌘D changes only light and dark, so Default stays Default and Compact stays Compact. Body text is held to 7:1 contrast against its own background by the test suite.

Keyboard

On Windows and Linux read ⌘ as Ctrl and ⌥ as Alt. The pane numbers follow the window: files, preview, raw, notes.

Install

No administrator, no installer, nothing added outside your home folder except /Applications/MdBoss.app on macOS. The script checks the release checksum and tells you if bun is missing.

macOS and Linux

$ curl -fsSL https://raw.githubusercontent.com/dux/md-boss/main/install.sh | sh

Windows, in PowerShell

irm https://raw.githubusercontent.com/dux/md-boss/main/install.ps1 | iex

Uninstall with the same script plus --uninstall. The config folder is left alone.

Or build it yourself

A hammer file over bun and cargo. Needs bun and a Rust toolchain; the shell is a thin native window, everything else is TypeScript.

$ git clone https://github.com/dux/md-boss && cd md-boss
$ hammer install # bun install + cargo fetch
$ hammer dev # vite plus the shell pointed at it