#terminal #header #markdown #viewer #renders #image #big

app mdfried

A markdown viewer for the terminal that renders images and big headers

1 unstable release

new 0.1.0 Dec 14, 2024

#1 in #renders

GPL-3.0-or-later

48KB
1K SLoC

mdfried

You can cook a terminal. But can you deep fry a terminal? YES! You can cook and fry your tty! Run before it's too late!

The terminal is usually in "cooked" mode, or canonical mode. With ratatui🐁, it's in raw mode, but it "cooks" for you.

mdfried is a markdown viewer for the terminal that renders headers as bigger text than normal.

How?

By rendering the headers as images, and using one of several terminal graphics protocols: Sixels, Kitty, or iTerm2.

See ratatui-image to see if your terminal does even have graphics support, and for further details.

In general, Kitty, WezTerm, iTerm2, foot, xterm -ti vt340, should work.

Screenshots

Screenshot

Video

Screenshot

Installation

  • cargo install mdfried
  • Clone repo and cargo install --path .
  • There is a flake.nix which might work

Usage

mdfried ./path/to.md

The first time you run mdfried, you will have to pick a font, ideally the font your terminal is using. As you type in the prompt, the first match is previewed directly. Once confirmed, this is written into the configuration file at ~/.config/mdfried/config.toml. Use --setup to force the font-setup again if the font is not right.

Press q to quit. j/k to scroll by lines, Ctrl-d/Ctrl-u to scroll by pages. r reloads the file (if not using stdin pipe). Mouse scroll also works.

TODO (laundry list)

General

  • Extend README.md, documentation
  • Publish to crates.io
  • Fix --deep fried mode

Markdown elements

  • Blockquote
  • Lists
  • Tables
  • HRs

Dependencies

~23–63MB
~1M SLoC