markdown-kit

A Go toolkit for rendering Markdown to multiple output formats, plus a set
of CLI tools built on top.
Packages
| Package |
Description |
renderer |
Terminal renderer with ANSI colorization, word wrapping, table rendering (Unicode box-drawing), image encoding (Kitty graphics protocol, ANSI), and document span tracking. |
view |
Interactive Bubble Tea model for displaying and navigating Markdown in a terminal. Supports heading/URL/code-block navigation, search, and content copying. |
odt |
Converts Markdown to OpenDocument Text (.odt). Generates ODF 1.3 compliant ZIP archives. |
indexer |
Builds a document index (table of contents) from headings with GFM-style anchor generation. |
styles |
Color theme definitions and custom Chroma token types. |
All packages build on a fork of
goldmark. Many thanks to
yuin, without whose work none of this would be
possible.
md — Interactive terminal reader
A tabbed, interactive Markdown reader with:
- Tabbed browsing with back/forward history
- Link following for local files and HTTP URLs
- Fuzzy file picker and URL input
- Full-text search within documents
- Configurable key bindings and color themes
- External format converters for non-Markdown files (e.g. reStructuredText, AsciiDoc)
go install github.com/pgavlin/markdown-kit/cmd/md@latest
md README.md
md https://example.com/doc.md
mdcat — Render Markdown to the terminal
Renders colorized Markdown to stdout with optional image display (Kitty
graphics protocol).
go install github.com/pgavlin/markdown-kit/cmd/mdcat@latest
mdcat README.md
md2odt — Convert Markdown to OpenDocument Text
go install github.com/pgavlin/markdown-kit/cmd/md2odt@latest
md2odt input.md -o output.odt
Building from source
Requires Go 1.24+.
git clone https://github.com/pgavlin/markdown-kit.git
cd markdown-kit
go build ./...
go test ./...
Contributing
See CONTRIBUTING.md for guidelines.
License
MIT