Skip to content

Repository files navigation

ink rendering a markdown file in the terminal: headings, a code block, a mermaid flowchart, the table of contents and the theme picker

ink

A terminal markdown reader that actually looks good.

Release Crates.io License

Website · Install · Docs · Changelog


ink renders markdown in your terminal: code, tables, images, diagrams and math, in a reader with search, tabs and a table of contents. It also works as a bat-style pager for scripts and git. One binary, no dependencies, written in Rust.

Features

  • Proper rendering. Headings, tables with alignment, task lists, footnotes, admonitions, frontmatter and wikilinks.
  • Highlighted code. Every major language, in bordered blocks. Press c to copy a block's raw source.
  • Inline images. Real pixels on Kitty, iTerm2, WezTerm, Ghostty and Sixel terminals, half-blocks everywhere else. SVG too.
  • Mermaid diagrams. Flowcharts, state, class and ER diagrams drawn as boxes and arrows. Gantt charts, mindmaps, sequence diagrams and pie charts too.
  • Math and emoji. LaTeX renders as Unicode (√(b² - 4ac)) and :rocket: becomes 🚀.
  • Made for reading. Search, a table of contents you can filter, tabs, a file browser, link hints and watch mode.
  • Select and copy. Keyboard or mouse selection, copy a section as markdown, and it works over SSH and tmux.
  • 9 themes. Including terminal, which follows your terminal's own color scheme. Or write your own.
  • Pager mode. ink --plain pages long output, prints clean text into pipes and handles --line-range, fzf previews and git diffs.
  • Safe with untrusted files. Escape sequences are stripped, and remote images stay off unless you ask for them.

Install

# macOS, Linux
curl -fsSL https://raw.githubusercontent.com/borghei/ink/main/install.sh | sh

# Homebrew
brew tap borghei/tap
brew trust borghei/tap
brew install ink

# Cargo
cargo install ink-md
# Windows
irm https://raw.githubusercontent.com/borghei/ink/main/install.ps1 | iex

Scoop, conda, mise, .deb, .rpm, prebuilt binaries and source builds are covered in the install guide.

Quick start

ink README.md                     # read a file
ink .                             # browse markdown files in a folder
ink a.md b.md                     # one tab per file
cat notes.md | ink                # read stdin
ink --plain README.md | head      # plain output for pipes
ink --theme terminal README.md    # use your terminal's colors

Press ? in the reader for every key. The basics: j k scroll, / search, t table of contents, f open a link, T themes, q quit.

Documentation

Install Every install route, binaries, verifying downloads
Features Everything ink renders and does, plus how it compares to glow, mdcat and frogmouth
Themes and color Built-in themes, the terminal theme, custom themes
Configuration Config file, settings, keybindings and presets
Command line Flags, subcommands, pager use, recipes, shell setup
Troubleshooting ink doctor, images, colors, clipboard, security model

Contributing

Bug reports and pull requests are welcome. Read CONTRIBUTING.md first, and attach ink doctor output to bug reports.

Thanks to everyone who has sent a pull request:

License

Free to use, modify and share. It can't be sold: not the original, not forks, not derivatives. See LICENSE.

Made by borghei, who got tired of reading raw markdown like a caveman.

About

A terminal markdown reader that actually looks good. Syntax highlighting, inline images, mermaid diagrams, 8 themes, tabs, search, and more.

Topics

Resources

Contributing

Stars

40 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages