الدليل الكامل لمخططات Mermaid.js

تعلّم إنشاء مخططات احترافية باستخدام صياغة نصية بسيطة

ما هو Mermaid.js؟

Mermaid أداة للرسم التخطيطي والرسوم البيانية مبنية على JavaScript تستخدم تعريفات نصية مستوحاة من Markdown لإنشاء المخططات وتعديلها ديناميكيًا. وهو مشروع مفتوح المصدر يتيح لك توليد مخططات من أوصاف نصية بسيطة.

بدلاً من أدوات الرسم المعقدة، تكتب صياغة تشبه الكود تصف مخططك، ويقوم Mermaid بعرضه كمخطط مرئي. هذا النهج يجعل المخططات قابلة لإدارة الإصدارات وسهلة التحديث ومثالية للتوثيق.

يتكامل Mermaid بسلاسة مع منصات التوثيق والويكي وملفات Markdown، مما يجعله أداة مفضلة لدى المطورين والكتّاب التقنيين.

لماذا تستخدم Mermaid.js؟

  • إدارة الإصدارات: المخططات ملفات نصية، لذا يمكن تتبعها في Git إلى جانب الكود
  • تحديثات سريعة: غيّر بضعة أسطر نصية بدلاً من إعادة رسم المخططات كاملة
  • اتساق: يتولى Mermaid التخطيط والتنسيق تلقائيًا ليضمن مخططات متسقة
  • لا حاجة لأدوات تصميم: لا حاجة إلى Visio أو Lucidchart أو أدوات مكلفة أخرى
  • التوثيق ككود: احتفظ بالمخططات في نفس المستودع مع التوثيق
  • متعدد المنصات: يعمل في المتصفحات وNode.js ويتكامل مع العديد من المنصات
  • مجاني ومفتوح المصدر: بلا تكاليف ترخيص ومجتمع نشط
  • أنواع متعددة من المخططات: يدعم المخططات الانسيابية ومخططات التسلسل ومخططات الفئات وغيرها

أنواع المخططات المدعومة

يدعم Mermaid مجموعة واسعة من أنواع المخططات لتلبية احتياجات التوثيق المختلفة:

مخطط انسيابي

تصوّر سير العمل والعمليات وأشجار القرار باستخدام العقد والحواف.

flowchart TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Process]
    B -->|No| D[Alternative]
    C --> E[End]
    D --> E

حالة الاستخدام: تدفقات العمليات، الخوارزميات، منطق اتخاذ القرار

مخطط تسلسل

يعرض التفاعلات بين الجهات أو الأنظمة المختلفة عبر الزمن.

sequenceDiagram
    participant User
    participant API
    participant DB
    User->>API: Request data
    API->>DB: Query
    DB-->>API: Results
    API-->>User: Response

حالة الاستخدام: تفاعلات API، تواصل الأنظمة، تدفقات المستخدمين

مخطط فئات

نمذج الأنظمة الكائنية باستخدام الفئات والسمات والعلاقات.

classDiagram
    class Animal {
        +String name
        +int age
        +makeSound()
    }
    class Dog {
        +bark()
    }
    Animal <|-- Dog

حالة الاستخدام: معمارية البرمجيات، تصميم OOP، مخططات قواعد البيانات

مخطط حالات

يمثّل الحالات والانتقالات في نظام أو عملية.

stateDiagram-v2
    [*] --> Idle
    Idle --> Loading: Start
    Loading --> Success: Complete
    Loading --> Error: Fail
    Success --> [*]
    Error --> Idle: Retry

حالة الاستخدام: آلات الحالات، إدارة دورة الحياة، حالات واجهة المستخدم

مخطط ER

نمذج هياكل قواعد البيانات والعلاقات بين الكيانات.

erDiagram
    CUSTOMER ||--o{ ORDER : places
    ORDER ||--|{ LINE_ITEM : contains
    CUSTOMER {
        int id
        string name
        string email
    }

حالة الاستخدام: تصميم قواعد البيانات، نمذجة البيانات، معمارية النظام

مخطط جانت

خطط لجدوال المشاريع وخطوطها الزمنية وتصورها.

gantt
    title Project Timeline
    dateFormat YYYY-MM-DD
    section Phase 1
    Design :a1, 2024-01-01, 30d
    Development :a2, after a1, 45d

حالة الاستخدام: تخطيط المشاريع، جداول السبرنت، خرائط الطريق

مخطط دائري

يعرض البيانات النسبية والنسب المئوية بصريًا.

pie title Distribution
    "Category A" : 42
    "Category B" : 30
    "Category C" : 28

حالة الاستخدام: نتائج الاستبيانات، الحصة السوقية، تخصيص الموارد

مخطط Git

تصوّر استراتيجيات تفرّع Git وسجل الالتزامات.

gitGraph
    commit
    branch develop
    checkout develop
    commit
    checkout main
    merge develop

حالة الاستخدام: توثيق سير عمل Git، استراتيجيات التفرّع

البدء مع Mermaid

1. اختر نوع المخطط

ابدأ بتحديد نوع المخطط الأنسب لما تريد عرضه. يبدأ كل نوع بكلمة مفتاحية محددة مثل 'flowchart' أو 'sequenceDiagram' أو 'classDiagram'.

2. اكتب الصياغة النصية

استخدم صياغة Mermaid البسيطة لوصف مخططك. الصياغة بديهية وتُقرأ تقريبًا كلغة طبيعية. على سبيل المثال، 'A --> B' ينشئ سهمًا من A إلى B.

3. عاين المخطط

استخدم العارض عبر الإنترنت أو أي أداة متوافقة مع Mermaid لرؤية مخططك مُعالجًا في الوقت الحقيقي. عدّل حسب الحاجة حتى ترضى.

4. صدّر وشارك

صدّر مخططك بصيغة SVG أو PNG للاستخدام في العروض، أو شارك رابط URL مع فريقك. يمكنك أيضًا تضمين Mermaid مباشرة في ملفات Markdown.

أفضل الممارسات

  • حافظ على تركيز المخططات على مفهوم واحد أو سير عمل واحد
  • استخدم تسميات ذات معنى تصف منطق العمل الفعلي
  • قسّم المخططات المعقدة إلى مخططات أصغر مترابطة
  • أضف تعليقات باستخدام %% لشرح الأقسام المعقدة
  • استخدم اصطلاحات تسمية متسقة عبر مخططاتك
  • اختبر مخططاتك في البيئة المستهدفة قبل اعتمادها
  • أضف تلميحات الاتجاه (TD, LR) للتحكم في التخطيط عند الحاجة
  • استخدم subgraphs لتجميع العقد ذات الصلة في المخططات الانسيابية
  • استخدم خيارات التنسيق باعتدال للحفاظ على قابلية القراءة
  • قم بإدارة إصدارات ملفات مصدر المخططات مع كودك

حالات استخدام شائعة

توثيق البرمجيات

وثّق معمارية النظام وتدفقات API وتفاعلات المكونات إلى جانب كودك.

تخطيط المشاريع

أنشئ مخططات جانت لتخطيط السبرنت والجداول الزمنية للمشاريع وتخصيص الموارد.

مقترحات تقنية

تصوّر الحلول المقترحة وتصميمات الأنظمة والقرارات المعمارية.

رحلات المستخدم

ارسم خرائط تدفقات المستخدم وتجارب العملاء وأنماط التفاعل.

تصميم قواعد البيانات

نمذج علاقات الكيانات وبُنى المخطط واعتماديات البيانات.

توثيق العمليات

وثّق عمليات الأعمال وسير العمل والإجراءات التشغيلية القياسية.

مواد تعليمية

أنشئ مخططات واضحة مع التحكم بالإصدارات للدروس والدورات التقنية.

توثيق API

وضّح تدفقات الطلب/الاستجابة وتسلسلات المصادقة وتفاعلات نقاط النهاية.

موارد إضافية

الأسئلة الشائعة

أسئلة شائعة حول استخدام Mermaid Viewer وإنشاء المخططات

هل أنت مستعد لإنشاء أول مخطط لك؟

جرّب عارض Mermaid المجاني عبر الإنترنت وابدأ إنشاء مخططات احترافية خلال دقائق.

افتح عارض Mermaid