- Notifications
You must be signed in to change notification settings - Fork79
swsnr/mdcat
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Important
No longer maintained. If you wish to take over, send a mail tosebastian@swsnr.de.
Fancycat
for Markdown (that is,CommonMark):
$ mdcat sample.md
mdcat inWezTerm, with "One Light (base16)", "Gruvbox Light", and "Darcula(base16)" (from left to right), andJetBrains Mono as font.
mdcat
works best withiTerm2,WezTerm, andkitty, and a good terminal font with italic characters.Then it
- nicely renders all basic CommonMark syntax,
- highlights code blocks withsyntect,
- showslinks, and also images inline in supported terminals (see above, where "Rust" is a clickable link!),
- adds jump marks for headings iniTerm2 (jump forwards and backwards with ⇧⌘↓ and ⇧⌘↑).
Terminal | Basic syntax | Syntax highlighting | Images | Jump marks |
---|---|---|---|---|
Basic ANSI¹ | ✓ | ✓ | ||
Windows 10 console | ✓ | ✓ | ||
Terminology | ✓ | ✓ | ✓ | |
iTerm2 | ✓ | ✓ | ✓² | ✓ |
kitty | ✓ | ✓ | ✓² | |
WezTerm | ✓ | ✓ | ✓² | |
VSCode | ✓ | ✓ | ✓² | |
Ghostty | ✓ | ✓ | ✓² |
- mdcat requires that the terminal supports strikethrough formatting andinline links.This includes most modern terminal emulators, such as Windows Terminal, KDE Konsole, or anything based on VTE, GNOME's terminal emulation library.But mdcat likely won't work well on old terminals that lack these features (e.g. the Linux text console).
- SVG images are rendered withresvg, seeSVG support.
Not supported:
- CommonMark extension for footnotes.
- Inline markup and text wrapping in table cells.
Trymdcat --help
or read themdcat(1) manpage.
- Release binaries built on Github Actions.
- These binaries are build from Git source on Github actions; you find provenance attestations athttps://github.com/swsnr/mdcat/attestations.
- 3rd party packages atRepology
- You can also build
mdcat
manually withcargo install mdcat
(see below for details).
mdcat
can be linked or copied tomdless
; if invoked asmdless
it automatically uses pagination.
Runcargo build --release
.
Building requireslibcurl
.
When packagingmdcat
you may wish to include the following additional artifacts:
A symlink or hardlink from
mdless
tomdcat
(see above).Shell completions for relevant shells, by invoking
mdcat --completions
after building, e.g.$mdcat --completions fish> /usr/share/fish/vendor_completions.d/mdcat.fish$mdcat --completions bash> /usr/share/bash-completion/completions/mdcat$mdcat --completions zsh> /usr/share/zsh/site-functions/_mdcat#Samefor mdlessif you include it$mdless --completions fish> /usr/share/fish/vendor_completions.d/mdless.fish$mdless --completions bash> /usr/share/bash-completion/completions/mdless$mdless --completions zsh> /usr/share/zsh/site-functions/_mdless
A build of the man page
mdcat.1.adoc
, usingAsciiDoctor:$asciidoctor -b manpage -a reproducible -o /usr/share/man/man1/mdcat.1 mdcat.1.adoc$gzip /usr/share/man/man1/mdcat.1#If you include a mdless as above, you may also want to support man mdless$ln -s mdcat.1.gz /usr/share/man/man1/mdless.1.gz
mdcat
can output extensive tracing information when asked to.Runmdcat
with$MDCAT_LOG=trace
for complete tracing information, or with$MDCAT_LOG=mdcat::render=trace
to trace only rendering.
Copyright Sebastian Wiesnersebastian@swsnr.de
Binaries are subject to the terms of the Mozilla PublicLicense, v. 2.0, seeLICENSE.
Most of the source is subject to the terms of the Mozilla PublicLicense, v. 2.0, seeLICENSE, unless otherwise noted;some files are subject to the terms of the Apache 2.0 license,seehttp://www.apache.org/licenses/LICENSE-2.0
About
cat for markdown
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.