عن المشروع

MermaidX هي مكتبة Python وأداة سطر أوامر لتحويل مخططات Mermaid إلى SVG وPNG وPDF وJPEG وBMP وTGA وفن ASCII. تشغّل مكتبة Mermaid v11 JavaScript الحقيقية داخل محرك QuickJS-ng مدمج (أو V8 اختياري) مع DOM وهمي، مما يلغي الحاجة إلى متصفح أو Node.js أو npm أو تبعيات النظام. وهذا يجعلها أسرع وأخف من mermaid-cli الرسمية، التي تستخدم Chrome بلا واجهة عبر Puppeteer. تشمل الميزات الرئيسية: - صفر تبعيات نظام: التثبيت عبر `pip install mermaidx`؛ حزم جاهزة لـ Python 3.9+. - خلفيات متعددة: QuickJS-ng الافتراضية، وV8 اختياري (أسرع بمقدار 2-4.5x)، وخلفيات Rust أصلية عبر حزمة `mmdr`. - واجهة برمجية موحدة: تعيد `render()` كائن `Diagram` كسولاً ومخزناً مؤقتاً مع طرق لـ SVG وPNG وPDF وASCII وRGBA الخام ومصفوفات numpy والحفظ إلى ملفات. - سطر الأوامر: `mermaidx -i input.mermaid -o output.svg` مع خيارات للتحجيم والسمات وتنسيق PDF وCSS وتضمين الخطوط. - تكامل Jupyter: تُعرض المخططات تلقائياً في دفاتر الملاحظات. - عرض دفعي متوازٍ باستخدام `render_many()` لأحمال العمل المعتمدة على المعالج. - مخرجات ASCII عبر حزمة `termaid` المكتوبة بلغة Python الخالصة. - تضمين الخطوط للحصول على SVG دقيق كما في المتصفح (إضافة اختيارية). - أدوات منخفضة المستوى مثل `svg_to_png()` لتحويل سلاسل SVG عشوائية إلى صور نقطية. يدعم MermaidX جميع أنواع مخططات Mermaid v11، بما في ذلك المخططات الانسيابية ومخططات التسلسل ومخططات الفئات ومخططات الحالة ومخططات ER ومخططات Gantt والمخططات الدائرية ومخططات git. وهو مرخص بموجب MIT ويُصان بنشاط، مع تاريخ من إعادة التسمية من `mmdc` لتجنب التعارض مع ملف mermaid-cli الرسمي.