attn

Your markdown, rendered beautifully.

$ attn .
attn in light mode attn in dark mode

<20 MB. One binary.
No Electron. No browser.
Just your markdown, rendered beautifully.

Live reload

Save a file, see the change. No refresh button. attn watches your files and reloads instantly.

attn sidebar with file tree and tabs attn sidebar with file tree and tabs

Built-in editor

Full ProseMirror editor with syntax highlighting, math, and mermaid. Edit markdown right where you read it.

attn editor mode attn editor mode

Mermaid diagrams

Flowcharts, sequence diagrams, and more — rendered inline from fenced code blocks.

Mermaid diagram rendered inline Mermaid diagram rendered inline

Find anything

⌘P to find any file. Lazy-loads folders so it's fast on huge repos.

Command palette fuzzy search Command palette fuzzy search

Mermaid diagrams

Flowcharts, sequence diagrams rendered inline from fenced code blocks.

Media playback

Images with zoom/pan, video and audio natively in the viewer.

Tabs & projects

Open multiple files, switch projects with ⌘;. One daemon.

Math rendering

KaTeX for inline and display math. Write $...$ and it renders.

Keyboard shortcuts

Fuzzy search ⌘P
Toggle editor ⌘E
Find & replace ⌘F
Switch project ⌘;
Close tab ⌘W
All shortcuts ⌘/
Zoom in ⌘=
Zoom out ⌘-
Reset zoom ⌘0
Next tab ⌘Tab

How it works

Svelte 5 frontend compiled by Vite, embedded into a Rust binary. No bundled server. One self-contained executable.

Terminal
attn
Unix Socket
~/.attn/
Daemon
fork
Native Window
wry/WebKit

Install

Homebrew (recommended)
brew install lightsofapollo/attn/attn
npm (quick)
npx attnmd
From source
cargo install attn