Show HN: Markview – a fast Markdown reader in Rust, Obsidian Vault compatible (github.com)

1 points by szdytom ↗ HN
Hey HN! I built Markview after coming across RaTeX which is a library renders LaTeX natively without JavaScript or webview. I thought "How hard could it be to render the rest of Markdown natively too?"

So the result is a lightweight reader with no browser engine. Reading Markdown feels fast and fluent, yet it uses much less of your valueable RAM then most other apps.

On my laptop, it opens documents 5–20× faster than Obsidian and MarkText, depending on the content, despite I implemented Knuth's typeset algorithm, which gives me publication-quality typography.

These days I read Markdown much more than I write it because I ask LLMs to organize my thought and do the actual writing. That (partly) why I built this app a reader. (the other part is that editing is complex)

Anyway, it supports a growing set of Obsidian Flavored Markdown features. Lately I’ve been reading my own Obsidian vault exclusively in Markview, and it actually feels good.

It runs on Linux, macOS, Windows, and Android. It's free and open source so you can try it and see if it's for you.

4 comments

[ 3.1 ms ] story [ 22.3 ms ] thread
I opened a few files. Really fast. What I like a lot is that I can open a whole folder and jump between the files very quickly. The included styles are very nice. I first had to get used to the fact that the list order changes when I pick a style, and the chosen one moves to the top. PDF export is also very fast, and the PDF looks good, which is not a given.

I'm working on a private project where I need a good Markdown viewer, and I'd like to take some ideas from yours. Our current file viewer looks amateurish next to it.

Thanks for trying it!

The list order changes because Markview's stylesheets can be layered like CSS rather than "single-slected". Enabling a style moves it to the top (the highest priority). This is how I display the active list, but it takes some getting used to when you're simply trying themes one at a time. Maybe I'll work on the settings UX soon.

Now that you've explained it, the way you implemented it makes sense, and it's well solved.