logoalt Hacker News

Show HN: Ferrite – Markdown editor in Rust with native Mermaid diagram rendering

202 pointsby OlaProistoday at 1:50 AM115 commentsview on HN

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!


Comments

random3today at 4:44 AM

This is cool. I was hoping to see progress coming from Zed (e.g. because Tree-sitter → https://github.com/tree-sitter-grammars/tree-sitter-markdown) but it's exciting to see this. I'm a heavy Obsidian user, and I love it, but I'd love to see real alternatives focused on foundations.

It would be interesting to know more about the end-goal if any.

Best of luck! I'll watch this.

show 3 replies
rkagerertoday at 1:54 PM

> Platform Note: Ferrite has been primarily developed and tested on Windows. While it should work on Linux and macOS, these platforms have not been extensively tested.

Neat! Lately on Windows I've felt like a 2nd class citizen.

> AI Disclosure: This project is 100% AI-generated code.

Oh.

Well, at least they're up front about it.

rajatkulktoday at 2:56 PM

Shamelessly plugging my app Octarine (https://octarine.app) for users that may want a more WYSIWYG editing experience while storing all notes on device in markdown, which is also written in Rust (Tauri), and NOT vibe coded :)

msephtontoday at 5:56 AM

Will need a magnifying glass to see the text on the screenshots.

I find it makes sense to take screenshots in a window big enough to show what's going on, but no bigger. This means probably not full screen, or maximised, especially if you're running at a very high resolution. If there's a lot of dead/empty space in the window that's a signal it's too big. This way you guarantee the screenshots are readable without zooming in, on smaller displays than your own, for example mobile.

show 1 reply
OlaProistoday at 2:52 PM

v0.2.2 just released — addressing several issues raised in this thread:

- CJK font support 1 — Korean/Chinese/Japanese characters now render properly

- CLI improvements (#9, #10) — ferrite file.md now works, plus --version and --help flags

- Undo/redo fixes 2 — Fixed scroll reset and focus issues

- Default view mode setting 3 — Can now set split/preview as default

- Configurable log level 4 — Reduce stderr noise

- Ubuntu 22.04 compatibility 5 — .deb now works on 22.04+

Thanks to everyone who reported issues! Download: https://github.com/OlaProeis/Ferrite/releases/tag/v0.2.2

huevosabiotoday at 2:51 AM

Nice to see an egui project that doesn't have super obvious egui aesthetics.

How did you find working with egui?

show 2 replies
bananaboytoday at 4:32 AM

Nice to see native markdown rendering rather than relying on spawning chromium and taking screenshots like some other libraries do!

show 2 replies
Arubistoday at 2:23 AM

I happily paid money for Typora, which does roughly the same thing for just Markdown without support for JSON, Yaml (that I know of). This feels like a ripe space, especially with LLMs eagerly outputting reams of parseable text with embedded diagrams.

show 3 replies
Bishonen88today at 7:53 AM

Looking at the Screenshots, this would've taken days/weeks e.g. 5 years ago. Now this seems to be vibe coded in 2 sessions. Crazy world we live in.

show 2 replies
bovermyertoday at 12:03 PM

Very cool. The one thing that prevents me from trying this out as a potential note-taking daily driver is the lack of support for LaTeX.

I recently switched from Obsidian to Zettlr due to some rendering and performance issues on Linux, and it's been a great experience. However, I always like to see new entrants in the arena.

show 1 reply
deviationtoday at 1:04 PM

AI generated code, AI generated HN post, AI generated comments…

show 1 reply
k_bxtoday at 9:43 AM

We need privacy-focused Obsidian alternative (which doesn't store unencrypted text files on disk), excited to see a potential player written in my tech stack, meaning it should be easy to extend!

show 1 reply
silcoontoday at 5:26 AM

Why did you remove AI agent configurations and instructions from the repo? See .gitignore

show 3 replies
sean_pedersentoday at 5:39 AM

Like the idea but it spawns a terminal on startup on Mac and is not WYSIWYG (like Obsidian). Hope this project develops into usable state soon.

show 1 reply
_fluxtoday at 8:22 AM

Seems like Mermaid parsing and layout would be a useful crate as by itself. I would enjoy a fast mermaid layout command line tool with svg/pdf/png support, which I think would be quite feasible to implement with such a crate.

show 1 reply
mgaunardtoday at 9:15 AM

The main issue is that Markdown remains a pretty primitive language to write documents in, with dozens of incompatible extensions all over the place.

I don't know if it's the best format to focus on.

show 2 replies
nkmnztoday at 11:34 AM

Slightly off topic: is there any editor (and data format) that supports re-arranging mermaid charts? I often find myself wanting to slightly tweak the way the chart is rendered, e.g. moving around boxes so that some of them are clustered in a specific area etc.

show 1 reply
WillAdamstoday at 4:07 AM

Made the fan in my Windows 11 laptop spin up.

show 2 replies
napoleongltoday at 9:59 AM

Looks interesting! I’m discouraged from using mermaid and D2’s online playground for privacy reasons and have hand on my roadmap to get a local editor. This might be it! Does it support theming of mermaid diagrams, I noted the style keywords were in the roadmap still.

show 1 reply
nico_htoday at 9:54 AM

It’s a cool name but there is already another project called ferrite, related to audio recording. https://www.wooji-juice.com/products/ferrite/

show 1 reply
endorphinetoday at 12:21 PM

Hey OP, curious how much experience you have with Rust, given that this is the only rust repo I see in your profile.

show 1 reply
Levitatingtoday at 3:06 AM

Made with egui, if anyones wondering.

I love the new era of graphical applications in Rust.

FloatArtifacttoday at 5:18 AM

Any interest in a plugin system similar to Obsidian?

show 1 reply
listictoday at 7:27 AM

Doesn't install on Ubuntu 22.04 LTS due to dependecy problems. Filed a bug: https://github.com/OlaProeis/Ferrite/issues/6

show 1 reply
khimarostoday at 3:22 AM

seems like a promising alternative to obsidian, but missing [[wikilinks]] and back references

show 2 replies
dhruv3006today at 3:37 AM

Building an api client based on markdown as well - https://voiden.md

show 1 reply
fuddletoday at 5:10 AM

Whats the advantage of using Ferrite versus VS Code with a Mermaid extension?

show 3 replies
dmitrygrtoday at 3:35 AM

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/

show 1 reply
adamnemecektoday at 3:33 AM

Consider adding support for Typst.

show 2 replies
pbroneztoday at 2:23 AM

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.

show 3 replies
maximgeorgetoday at 7:52 AM

[dead]