Show HN: Ferrite – Markdown editor in Rust with native Mermaid diagram rendering
Mermaid rendering & diagram tooling
- Ferrite implements Mermaid parsing and rendering entirely in Rust using egui primitives; no JS engine or headless Chrome.
- Currently supports a large subset of Mermaid (flowcharts, sequence, state, class, ER, pie, mindmap, timeline, user journey, git graph, gantt).
- Native rendering is faster and fully offline, but won’t perfectly match mermaid.js layouts; upcoming SVG/PNG export is suggested for cases where exact web rendering is needed.
- There are plans to extract the Mermaid engine into a standalone crate and CLI (parse → layout → SVG/PNG), aimed at users who now rely on Chromium-based pipelines.
Positioning vs other editors (Typora, Obsidian, VS Code, etc.)
- Compared to Typora, Ferrite aims for similar polish but adds native Mermaid, JSON/YAML/TOML tree viewers, and shell “pipeline” integration, while remaining open source.
- Compared to VS Code + extensions, proponents highlight: small binary, instant startup, no Electron, integrated diagram/rendering features, and a focused writing environment.
- Some see it as a potential Obsidian alternative but note key missing features: wikilinks, backlinks, pane layout, WYSIWYG editing, and LaTeX/math support.
- There’s skepticism about standalone “language-specific” editors versus using a general-purpose editor with plugins; others argue there is a proven niche (Typora, Obsidian, iA Writer).
GUI stack, performance, and platforms
- Built with egui; praised for rapid prototyping and simple state management, but its default text widget lacks advanced code-editor features, prompting a custom editor in the roadmap.
- Users report high CPU/fan usage and Linux packaging issues; upcoming releases promise performance optimizations and builds targeting older distributions.
- macOS currently spawns a terminal on launch; a proper .app bundle with signing/notarization is planned. Screenshot readability also drew criticism.
Roadmap, plugins, and format support
- Planned features: custom text editor widget, extracted Mermaid crate, SVG/PNG export, improved macOS packaging, Obsidian-style wikilinks/backlinks, Mermaid theming, and possibly Typst/TeX/math support.
- A plugin system is considered long term (likely WASM or Lua, not JS); for now, extensibility is via a “Live Pipeline” that runs JSON/YAML through external tools.
- Some users question focusing on Markdown given its fragmentation, suggesting AsciiDoc or reStructuredText/Sphinx for richer documentation workflows.
AI-generated code and community reaction
- It was eventually disclosed that the codebase and much documentation are entirely AI-generated (with human direction, review, and testing), and that HN replies are AI-assisted.
- Some commenters appreciate the transparency and see it as an experiment in AI-assisted development; others treat full AI generation as a red flag and lose interest in using the tool.