Is using a web browser really necessary for viewing Markdown? Seems a really inefficient way to view a what's supposed to be a small and minimal language.
Emphasis on "Github flavored", which supports additional extensions to the markdown spec that a TUI can't properly preview. You need some kind of GUI (preferably a browser since it does support some html) in order to properly preview it.
Yes, exactly. For example Mermaid diagrams (that is supported in this project) can't be rendered in TUI (well, technically you can if you use something like Kitty's image protocol, but I think this is being pendant).
i dont know why its a CLI when it could just be a js library? is there a more minimal version of this that can then be used more flexibly everywhere else?
I'm assuming it's because the project isn't meant to "Render" markdown, but provide a preview that works offline. That includes hot reloading when the original file changes, which you can't really do with just a client-side library.
If it was a JS library in addition to providing you a webpage with js in it, it would also need to provide you with a server with a hot reload, and we're back to CLI.
They are using goldmark library with some extensions[0] to render markdown. And there's also GitHub API for rendering markdown[1] if you're curious.
fwiw there are plenty of webserver cli's with reload capability (https://www.npmjs.com/package/live-server or npx serve + chokidar), this is definitely one of those things that can decomposed to single responsibility tools
(nit: hot reload means a specific thing in the js ecosystem and you prob dont mean that)
If it was a JS library in addition to providing you a webpage with js in it, it would also need to provide you with a server with a hot reload, and we're back to CLI.
They are using goldmark library with some extensions[0] to render markdown. And there's also GitHub API for rendering markdown[1] if you're curious.
References:
[0]: https://github.com/thiagokokada/gh-gfm-preview/blob/main/int...
[1]: https://docs.github.com/en/rest/markdown?apiVersion=2022-11-...
(nit: hot reload means a specific thing in the js ecosystem and you prob dont mean that)