Ferrite – Rust से बना नैटिव Mermaid डायग्राम रेंडरिंग सपोर्ट वाला Markdown एडिटर
(github.com/OlaProeis)- Ferrite एक Rust-आधारित टेक्स्ट एडिटर है, जो Markdown, JSON, YAML और TOML फ़ाइलों को तेज़ और हल्के तरीके से एडिट कर सकता है
- egui framework का उपयोग करके यह नैटिव-स्तर की responsiveness और cross-platform रनटाइम environment प्रदान करता है
- WYSIWYG preview, MermaidJS डायग्राम रेंडरिंग, Git integration, workspace mode जैसी कई सुविधाओं का समर्थन
- प्रोजेक्ट का सारा Rust code और documentation AI (Claude by Anthropic) द्वारा बनाया गया है, जबकि इंसानों ने review और testing की ज़िम्मेदारी संभाली
- AI-सहायता प्राप्त development के वास्तविक उपयोग के उदाहरण के रूप में, यह Rust ecosystem और AI development collaboration की संभावनाएँ दिखाने वाला प्रोजेक्ट है
Ferrite परिचय
- Ferrite Markdown, JSON, YAML और TOML फ़ाइलों को सपोर्ट करने वाला एक तेज़ और हल्का टेक्स्ट एडिटर है
- यह Rust और egui में लिखा गया है, जिससे नैटिव-स्तर की responsiveness और cross-platform execution सुनिश्चित होती है
- मुख्य रूप से Windows पर develop और test किया गया है, लेकिन Linux और macOS पर भी चल सकता है
- Windows, Linux(.deb, tar.gz), macOS(Intel/ARM) के लिए prebuilt binaries उपलब्ध हैं
AI-आधारित development
- Ferrite का सारा Rust code, documentation और configuration files AI (Claude by Anthropic) ने लिखी हैं
- डेवलपर ने product direction तय करने, testing करने और AI development को coordinate करने की भूमिका निभाई
- code को review और testing के बाद स्वीकार किया जाता है, और AI generation process को पारदर्शी रूप से साझा किया गया है
- इस प्रोजेक्ट का उद्देश्य AI-सहायता प्राप्त development की सीमाओं और संभावनाओं की खोज करना है
प्रमुख फीचर्स
- Markdown real-time preview (WYSIWYG) और syntax highlighting का समर्थन
- Multi-format support: Markdown, JSON, YAML, TOML
- Tree Viewer के ज़रिए JSON/YAML/TOML संरचना को hierarchy में browse और inline edit किया जा सकता है
- Regex search/replace, line move (Alt+↑/↓), line duplicate (Ctrl+Shift+D) जैसे productivity features शामिल
- Auto bracket/quote closing, auto save, line width setting, minimap, code folding जैसी सुविधाएँ उपलब्ध
MermaidJS डायग्राम रेंडरिंग
- MermaidJS का उपयोग करके 11 प्रकार के डायग्राम नैटिव रूप से render किए जाते हैं
- Flowchart, Sequence, Pie, State, Mindmap, Class, ER, Git Graph, Gantt, Timeline, User Journey
- Markdown preview के भीतर इन्हें सीधे visualize किया जा सकता है
Workspace और editing environment
- Workspace Mode के साथ folder स्तर पर खोलना, file tree navigation, quick file switch (Ctrl+P), full search (Ctrl+Shift+F) का समर्थन
- Git integration के ज़रिए modified, added और ignored files की स्थिति को visually दिखाया जाता है
- Session restore फीचर restart के समय tabs, cursor position और scroll state को पुनर्स्थापित करता है
- Zen Mode केंद्रित writing environment देता है, और Split View में source और rendered output को साथ देखा जा सकता है
1 टिप्पणियां
Hacker News टिप्पणियाँ
मैं Zed में प्रगति की उम्मीद कर रहा था, लेकिन यह प्रोजेक्ट भी काफ़ी दिलचस्प है
मैं Obsidian का बहुत ज़्यादा उपयोग करता हूँ, लेकिन अगर मूल बातों पर फ़ोकस करने वाला कोई असली विकल्प आए तो अच्छा होगा
इसका अंतिम लक्ष्य क्या है, यह जानने की जिज्ञासा है। आगे नज़र रखूँगा
अभी Show HN पर पोस्ट करने के लिए तैयार नहीं है, लेकिन शुरुआती फ़ीडबैक सुनना चाहता हूँ
ऐसा जो Electron या web तकनीकों के बिना तुरंत चले; v0.3.0 में Mermaid को अलग crate में विभाजित किया जाएगा और egui के TextEdit की सीमाओं से आगे जाने वाला custom widget बनाया जाएगा
लंबे समय में इसे Rust-आधारित headless editor library में विकसित करने का लक्ष्य है
अधिक जानकारी के लिए ROADMAP.md देखें
यह दिलचस्प है कि Ferrite मुख्य रूप से Windows पर विकसित और टेस्ट किया गया है
आजकल Windows उपयोगकर्ता खुद को second-class citizen जैसा महसूस करते रहे हैं, इसलिए यह अच्छा लगा
लेकिन “यह प्रोजेक्ट 100% AI से जनरेट किए गए कोड” वाली पंक्ति देखकर थोड़ा चौंक गया
फिर भी इसे ईमानदारी से सार्वजनिक करना अच्छी बात है
लगता है कुछ उपयोगकर्ताओं ने AI उपयोग छिपाने की ओर इशारा किया, उसके बाद ही इसे जोड़ा गया
मैं अपने ऐप Octarine का हल्का-सा प्रचार करना चाहता हूँ
यह Rust(Tauri) में लिखा गया WYSIWYG शैली का Markdown notes app है, और सारा डेटा लोकल में स्टोर करता है
यह “vibe coded” नहीं है :)
आजकल HN पर AI-जनित कंटेंट बहुत बढ़ गया है, और यह पोस्ट भी AI-जनित कोड और टिप्पणियों से भरी हुई लगती है
शायद इसलिए कि इसने लोकप्रिय विषयों को अच्छी तरह छुआ है
स्क्रीनशॉट का टेक्स्ट इतना छोटा है कि मैग्निफ़ाइंग ग्लास चाहिए पड़े
स्क्रीनशॉट न बहुत बड़े हों न बहुत छोटे, बल्कि ऐसे हों कि सामग्री साफ़ दिखे
ख़ासकर high resolution में, ज़्यादा खाली जगह होने पर पढ़ने में और कठिनाई होती है
high resolution में कैप्चर किया था, इसलिए छोटी स्क्रीन पर पढ़ना मुश्किल था
विंडो का आकार छोटा करके और मार्जिन घटाकर फिर से कैप्चर करूँगा
मैंने Typora के लिए ख़ुशी-ख़ुशी पैसे दिए थे
यह सिर्फ Markdown सपोर्ट करता है, लेकिन इस क्षेत्र में अब भी काफ़ी संभावना है
ख़ासकर आजकल जब LLM संरचित टेक्स्ट और डायग्राम बहुत बनाते हैं, तब तो और भी
और यह open source भी है
egui प्रोजेक्ट्स में ऐसा कम ही दिखता है जहाँ egui की अपनी शैली महसूस न हो
egui के साथ काम करने का अनुभव कैसा रहा, यह जानने की जिज्ञासा है
immediate mode होने की वजह से state management सरल रहता है
लेकिन TextEdit code editor के लिए नहीं बना, इसलिए इसमें multi-cursor या code folding नहीं है
इसी वजह से v0.3.0 में इसे custom widget से बदला जाएगा
डिफ़ॉल्ट थीम का बहुत “egui-जैसा” होना custom theme से हल किया गया
native Markdown rendering का उपयोग देखना अच्छा लगा
यह दूसरे लाइब्रेरीज़ की तरह Chromium चलाकर स्क्रीनशॉट लेने वाला तरीका नहीं है, इसलिए बेहतर है
शेयर करने पर यह अलग दिख सकता है
Ferrite के अंदर तो कोई समस्या नहीं है, और शेयरिंग के लिए v0.3.0 में SVG export फीचर जोड़ने की योजना है
जानना चाहूँगा कि रिपॉज़िटरी से AI agent settings और instructions क्यों हटाए गए (.gitignore देखें)
लेकिन AI settings फाइलें प्रोजेक्ट के लिए ज़रूरी नहीं थीं, इसलिए उन्हें बाहर रखा गया
README में AI सहायता मिलने की बात जोड़ने की योजना है
कोड की समीक्षा के बाद ही उसे शामिल किया गया, बिना सोचे-समझे स्वीकार नहीं किया गया
सिर्फ़ 10 commits हैं, और उनमें से कुछ इमोजी से भरे markdown दस्तावेज़ों से भरे हुए हैं
अगर सिर्फ Mermaid parsing और layout को अलग crate में निकाल दिया जाए, तो वह उपयोगी हो सकता है
अच्छा होगा अगर एक तेज़ CLI टूल SVG/PDF/PNG output दे सके
लगभग 7000 लाइनों वाले Mermaid renderer को स्वतंत्र crate के रूप में निकाला जाएगा, और SVG/PNG output व CLI support जोड़ा जाएगा
यह pure Rust में लिखा गया है, इसलिए WASM compatibility भी संभव है। उम्मीद है आप उत्साहित रहेंगे