dmbdip - Display Markdown But Do it Pretty

A Rust program that renders markdown files as images and displays them in the terminal using the Kitty graphics protocol. Includes basic file navigation utilities.
Usage
dmbdip [markdown-file-or-directory]
dmbdip --help
When given a markdown file, opens it full-width with the file list hidden. Press Left to reveal the file list and browse sibling files. When given a directory (or no argument), opens the file browser with a file list on the left and markdown preview on the right.
Requirements: a terminal supporting the Terminal graphics protocol, DejaVu fonts installed.
Installation
From crates.io
cargo install dmbdip
Pre-built binaries
Download pre-built binaries for Linux (x86_64) and macOS (x86_64, Apple Silicon) from the GitHub Releases page.
On macOS, you'll need DejaVu fonts installed:
brew install font-dejavu
Building from source
Requires Rust (1.85+ for edition 2024). Install via rustup.
cargo build --release
The binary will be at target/release/dmbdip. Copy it to a directory in your $PATH:
cp target/release/dmbdip ~/.local/bin/
Keybindings
Document View
| Key | Action |
|---|---|
| Tab/Shift+Tab | Navigate between headings |
| Space | Toggle fold open/close |
| Right | Hide file list (full-width reading) |
| Left | Show file list / back to browser |
| Up/Down | Scroll |
| j/k | Small scroll steps |
| PgUp/PgDn | Half-page scroll |
| Home/End | Jump to top/bottom |
| / | Search text (vim-style) |
| n/N | Next/previous search match |
| h | Show keybindings help overlay |
| q/Esc/Ctrl-C | Quit |
File Browser
| Key | Action |
|---|---|
| Up/Down, j/k | Move cursor |
| Right/Enter | Open file / enter subfolder |
| Left | Go to parent directory |
| e | Open in $EDITOR |
| h | Show help |
| q/Esc/Ctrl-C | Quit |
Configuration
Customize theme colors, font sizes, layout, and fonts via a TOML config file at ~/.config/dmbdip/dmbdip.toml. All fields are optional. See docs/configuration.md for the full reference.
Development
See docs/DEVELOPMENT.md for architecture, tech stack, task tracking, and workflow notes.