Top
Best
New

Posted by OlaProis 1 day ago

Show HN: Ferrite – Markdown editor in Rust with native Mermaid diagram rendering(github.com)
Ferrite: Fast Markdown/Text/Code editor in Rust with native Mermaid diagrams

Built a Markdown editor using Rust + egui. v0.2.1 just dropped with major Mermaid improvements:

→ Native Mermaid diagrams - Flowcharts, sequence, state, ER, git graphs - pure Rust, no JS

→ Split view - Raw + rendered side-by-side with sync scrolling

→ Syntax highlighting - 40+ languages with large file optimization

→ JSON/YAML/TOML tree viewer - Structured editing with expand/collapse

→ Git integration - File tree shows modified/staged/untracked status

Also: minimap, zen mode, auto-save, session restore, code folding indicators.

~15MB binary, instant startup. Windows/Linux/macOS.

GitHub: https://github.com/OlaProeis/Ferrite

v0.2.2 coming soon with performance improvements for large files. Looking for feedback!

226 points | 154 commentspage 4
endorphine 13 hours ago|
Hey OP, curious how much experience you have with Rust, given that this is the only rust repo I see in your profile.
OlaProis 13 hours ago|
This is my only public Rust repo — I have some ongoing private projects in Rust, so I'm familiar with the ecosystem (cargo, crates, the borrow checker experience, etc.).

That said, to be fully transparent: as I disclosed elsewhere in this thread, the Ferrite codebase is 100% AI-generated (Claude via Cursor). I direct the development, test, and iterate, but I haven't written the Rust by hand for this project.

So my Rust experience is more "ecosystem familiarity + reading AI-generated code" than "battle-hardened Rustacean." This project is partly a learning exercise — seeing how far AI-assisted development can go while picking up Rust patterns along the way.

khimaros 22 hours ago||
seems like a promising alternative to obsidian, but missing [[wikilinks]] and back references
OlaProis 16 hours ago||
Not yet! [[wikilinks]] and backlinks are natural additions. I will add it to the Roadmap? Love community input on what Obsidian features matter most!
bthallplz 20 hours ago||
Yes! I was looking at it and hoping they had that feature already. I so want an Obsidian alternative to exist just in case.

Thanks for posting the GitHub issue!

dhruv3006 22 hours ago||
Building an api client based on markdown as well - https://voiden.md
random3 21 hours ago|
And what's the connection with the thread?
fuddle 20 hours ago||
Whats the advantage of using Ferrite versus VS Code with a Mermaid extension?
OlaProis 16 hours ago||
> - ~15MB vs ~300MB+ (no Electron) > - Instant startup vs seconds > - Native Mermaid rendering (no extension juggling) > - Built-in JSON/YAML tree viewer with pipeline shell integration > - Session restore, minimap, zen mode baked in > > If you live in VS Code already, an extension might be fine. Ferrite is for those wanting a focused, fast Markdown environment.
dcreater 19 hours ago|||
Rust + Native App I take it
littlestymaar 18 hours ago||
The VSCode markdown viewer kind of sucks tbh.
adamnemecek 22 hours ago||
Consider adding support for Typst.
OlaProis 16 hours ago||
Interesting idea! Typst is compelling (Rust-based too). Not on immediate roadmap but could be a future addition. TeX is heavier but possible via external tools + pipeline feature.
GrowingSideways 22 hours ago||
Or even better, TeX. I realize capital bought out even basic typesetting but let's not encourage this
regenschutz 19 hours ago||
Typst is open-source.
GrowingSideways 19 hours ago||
Open source doesn't mean relinquished from capital by any means. I also don't blame the author of typst. But TeX is truly free from capital, and that should mean far more than the aesthetics of a nicer interface.
adamnemecek 6 hours ago||
Integration with typst will be more straightforward than latex.
GrowingSideways 4 hours ago||
Yes, at the cost of dragging people into subscription software. Fuck off
pbronez 23 hours ago||
Is mermaid rendering implemented in Rust, or are you running mermaid.js in a JS interpreter somewhere?

On other systems I’ve run into challenges rendering markdown documents with many mermaid diagrams in them. It would be nice to have a more robust way to do this.

lkschubert8 23 hours ago||
Looks like it’s currently a subset of mermaid natively in rust https://github.com/OlaProeis/Ferrite/blob/master/src/markdow...
jasonjmcghee 23 hours ago|||
(not associated, just looked at the code - no js interpreter)

https://github.com/OlaProeis/Ferrite/blob/master/src/markdow...

OlaProis 16 hours ago||
100% pure Rust! No JS interpreter. Parses Mermaid syntax directly and renders via egui drawing primitives. Supports 11 diagram types: flowchart, sequence, state, class, ER, pie, mindmap, timeline, user journey, git graph, gantt. Much faster than spawning headless Chrome!
dmitrygr 22 hours ago||
For those who, like me, read this and thought "what the hell is a mermaid diagram?", apparently it is a method to describe simple flow diagrams using markdown-like text. More here: https://mermaid.js.org/
chaboud 18 hours ago|
Next time you're vibe coding something, have the system generate a mermaid diagram to show its understanding. Though visual generation can be hard for models, structure/topology in formats like mermaid is pretty gettable.

I've even found sonnet and opus to be quite capable of generating json describing nodes and edges. I had them generate directed acyclic processing graphs for a GUI LLM data flow editor that I built (also with Claude - https://nodecul.es/ if curious)

maximgeorge 18 hours ago|
[dead]