Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Markdown CLI viewer with VI keybindings (github.com/taf2)
72 points by taf2 17 hours ago | hide | past | favorite | 33 comments




A screenshot would be a nice addition to the readme.

It seems is only pure text (no support for image extensions of a terminal, just a link to the image), based on this: https://github.com/taf2/mdvi/blob/master/src/renderer.rs

It looks nice and clean code.


Thanks i added a screenshot and in 0.2 you can see images now in the cli too

The screenshot you added uses a transparent terminal where you can see your Discord chat in the background. You might want to remove that ;-)

Why would someone use a transparent window background? Are people really reading the window behind it at the same time as the foreground window?

Example: If a build is going on in the background, I can see when it stops.

You can use `build-tool; tput bel` to hear the bell when it ends. Some terminal allows to set the urgent flag on the windows when the bell rings.

Yeah I have used desktop notifications for such things (via notify-send etc), but I'm going to accept this explanation for transparent background as it makes some sense to me.

pretty fun right :)

no.... and your screen shot completely fails to show off your tool

If you like the man page aesthetic, using pandoc with groff is the most readable way to read markdown on the terminal I've found:

    mdless() {
        if command -v pandoc >/dev/null; then
            if [[ -z "$1" ]]; then
                cat | pandoc -s -f markdown -t man | groff -T utf8 -man | less
            else
                pandoc -s -f markdown -t man "$*" | groff -T utf8 -man | less
            fi
        else
            less "$@"
        fi
    }

Glow is pretty great and has been around for a while:

https://github.com/charmbracelet/glow


Markdown reader using find, fzf and lnav

  find . \( -path '*/vendor/*' -or -path '*/.git/*' -or -path '*/node_modules/*' \) -prune -or -type f -name "*.md" -print | fzf | xargs lnav
In the above command, the find command excludes directories such as "vendor" (golang), ".git" (git) and "node_modules" (nodejs). The lnav itself provides the markdown support https://lnav.org/2022/08/06/markdown-support.html

I created one I like: https://github.com/llimllib/mdriver

it can echo images with kitty image protocol, and streams the output, which I use to show LLM output as it arrives

It doesn't handle paging - you can pipe it to `less` or whatever pager for that


Here's the one I use a lot ... And the underlying `glamour` library is great for programmatic markdown display: https://github.com/charmbracelet/glow.

Hey if there's significant overlap, what about coming and collab-ing on https://github.com/joshka/tui-markdown? (crate + cli, rust / ratatui / crossterm based)

3 source files, nice code, no vibe-coding slob, nice little project... That's rare these days

I personally would have liked colours support like Glow has. At least the ability to theme it so we can add colours if we want. Nice tool, though.

Isn’t vi good enough?

NeoVim w/ render-markdown.nvim

(not to poo on OP - I dig a clean TUI renderer, I have BAT installed for a reason)


Bat is nice. Oh dang now i have to try this plugin. I remember trying a couple of similar ones that got me so frustrated that i abandoned the idea of markdown viewers in nvim... Here we go again XD

render-markdown.nvim is very nice and works with GitHub Flavoured Markdown, even down to some of the newer features like INFO, IMPORTANT, etc. quotes.

No, I prefer emacs.

vi was mentioned because this software has "VI keybindings". no one asked what you prefer.

makes sign of cross, and hisses

It's funny because the whole idea of Markdown is that it is readable both as text and rendered, so it shouldn't require a terminal renderer.

https://github.com/Vagab/mark similar tool, but with editing enabled also!

It’s funny to see markdown tools popping up with the rise of agents.

https://github.com/charmbracelet/glamour

Charm Glamour with a view port uses basic vi keybinds as well


You had me at vi bindings

ie. vim

aka view

Markdown is already readable as-is. How is this any different from running "more my_file.md" ?

Stop trying to re-invent the wheel when the tools are already there.


This is an odd comment on "Hacker" news. There's a joy to be had in making things like this, even though there are better alternatives and it's often a weird thing to do in the first place. I often do not post the things I create here and elsewhere because I dread this kind of feedback. What do you hope OP takes away from your post?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: