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

### Forged in Rust: Meet Ferrite, the Markdown Editor with Native Mermaid Rendering
In the ever-expanding universe of developer tools, the humble Markdown editor holds a special place. It’s our digital notebook, our documentation workhorse, and our brainstorming canvas. While we have a plethora of options, many feel like compromises—either they’re slow, resource-hungry web apps masquerading as native programs, or they lack the modern features we crave. Enter Ferrite, a new contender forged in the fires of Rust, aiming to change the game.
Born from a “Show HN” post that captured the community’s attention, Ferrite isn’t just another text editor. It’s a thoughtfully crafted tool built on a foundation of performance, minimalism, and a truly native experience, especially for Linux users.
#### The Rust Advantage: Speed You Can Feel
The first thing to note about Ferrite is its soul: it’s written entirely in Rust. This isn’t just a trendy language choice; it has tangible benefits for the end-user. The result is a blazingly fast application that launches instantly and responds to every keystroke without a hint of lag. By sidestepping the overhead of Electron or other web-based frameworks, Ferrite offers a lean, efficient, and memory-safe environment for your writing. It feels solid, reliable, and respectful of your system’s resources—a breath of fresh air in a world of bloated software.
Built using GTK4 and libadwaita, Ferrite integrates seamlessly into modern Linux desktops like GNOME, providing a clean, adaptive, and genuinely native look and feel.
#### The Killer Feature: Truly Native Mermaid Diagrams
While a fast and native Markdown editor is already a win, Ferrite’s standout feature is its handling of Mermaid diagrams. For those unfamiliar, Mermaid.js is a fantastic tool that lets you create complex diagrams, flowcharts, and graphs using a simple, text-based syntax. It’s “diagrams as code,” and it’s invaluable for technical documentation.
Most editors that support Mermaid do so by embedding a web view (a mini browser) to render the JavaScript library. This works, but it can be slow, clunky, and detached from the native application experience.
Ferrite takes a revolutionary approach: **it renders Mermaid diagrams natively.**
By leveraging a custom rendering pipeline, Ferrite parses your Mermaid code and draws the diagram directly using native components. This means diagrams appear and update in real-time as you type, with no WebView overhead, no flickering, and no delay.
Here’s a simple flowchart example:
“`mermaid
graph TD;
A[Start] –> B{Is it fast?};
B — Yes –> C[Use Ferrite!];
B — No –> D[Use something else];
C –> E[End];
D –> E[End];
“`
In Ferrite, this block of text would instantly transform into a crisp, clean flowchart right within your document. This seamless integration makes creating and iterating on technical diagrams a joyful and fluid process.
#### Core Features and The Road Ahead
Ferrite is more than just a one-trick pony. It comes packed with the essential features you’d expect from a modern Markdown editor:
* **Clean, Distraction-Free UI:** A minimalist interface that puts your content front and center.
* **Robust Markdown Support:** Full compatibility with CommonMark and GitHub Flavored Markdown (GFM).
* **Syntax Highlighting:** Clear and aesthetically pleasing code blocks.
* **Integrated File Tree:** Easily navigate your notes and project directories.
* **Light and Dark Modes:** Adapts to your system theme for comfortable viewing day or night.
The project is actively developed and available for installation via Flathub, making it easily accessible to a wide range of Linux distributions. The roadmap promises even more refinement and features, solidifying Ferrite’s position as a serious tool for developers, writers, and students.
If you’re tired of Markdown editors that feel like a compromise, it’s time to give Ferrite a try. It’s a testament to what’s possible when modern programming languages like Rust are combined with a clear vision for a better user experience. Fast, native, and powerful—Ferrite might just be the last Markdown editor you’ll ever need.
**Check it out for yourself:**
* **GitHub Repository:** [Trivernis/ferrite](https://github.com/Trivernis/ferrite)
* **Install on Linux:** [Ferrite on Flathub](https://flathub.org/apps/com.github.Trivernis.Ferrite)
