ورقة صياغة mermaid المرجعية
لدى mermaid مرجع كبير، ولكن مجموعة فرعية صغيرة منه تغطي كل ما يرسمه الناس تقريبًا. هذه الصفحة هي تلك المجموعة الفرعية: الأشكال، الأسهم، التجميع، الألوان، ومثال جاهز للنسخ لكل نوع مخطط. كل مقتطف أدناه يُرسم كما هو — الصقه في المحرر لتراه.
أقصر مخطط يعمل
يحتاج المخطط الانسيابي إلى سطر إعلان واحد وسهم واحد. TD تعني من الأعلى إلى الأسفل؛ استخدم LR للاتجاه من اليسار إلى اليمين، وهو أنسب للعمليات العريضة.
flowchart TD
A[Start] --> B{Ready?}
B -->|Yes| C[Ship it]
B -->|No| AA وB وC هي معرّفات العقد — أسماء داخلية لا تُرسم أبدًا. النص بين الأقواس هو التسمية، ونوع الأقواس هو ما يحدد الشكل.
أشكال العقد
يُختار الشكل حسب زوج الفواصل المحيط بالتسمية. هذه هي الأشكال التي تستحق الحفظ:
| الصياغة | الشكل | المعنى المعتاد |
|---|---|---|
A[Text] | مستطيل | خطوة أو إجراء |
A(Text) | دائري الحواف | نقطة بداية أو نهاية |
A([Text]) | كبسولة | نقطة إنهاء |
A[[Text]] | روتين فرعي | استدعاء لعملية أخرى |
A[(Text)] | أسطوانة | قاعدة بيانات أو مخزن |
A((Text)) | دائرة | نقطة تقاطع |
A{Text} | معين | قرار |
A{{Text}} | سداسي | خطوة تحضيرية |
A[/Text/] | متوازي أضلاع | إدخال أو إخراج |
A[/Text\] | شبه منحرف | عملية يدوية |
ضع التسمية بين علامتي اقتباس عندما تحتوي على أقواس أو نقطتين أو علامات اقتباس: A["Load (raw) data"]. بدون علامات الاقتباس، يفهم المحلل علامات الترقيم كصياغة.
الأسهم
| الصياغة | النتيجة |
|---|---|
A --> B | سهم |
A --- B | خط بدون رأس سهم |
A -.-> B | سهم منقّط |
A ==> B | سهم سميك |
A -->|label| B | سهم بتسمية عليه |
A --> B --> C | سلسلة مكتوبة في سطر واحد |
A --> B & C | مصدر واحد، هدفان |
طول السهم له معنى أيضًا: --> يمثل مستوى واحدًا، بينما ---> يدفع الهدف مستوى إضافيًا للأسفل. إنها أبسط أداة تحكم في التخطيط يمنحها mermaid.
التجميع باستخدام المخططات الفرعية
يرسم subgraph صندوقًا مُسمّى حول العقد. المخططات الفرعية يمكن تداخلها، والأسهم يمكنها عبور حدودها بحرية.
flowchart LR
subgraph api["API"]
H[Handler] --> S[(Postgres)]
end
subgraph worker["Worker"]
Q[Queue] --> W[Job]
end
H --> Qاللون والتنسيق
style يلوّن عقدة واحدة. classDef مع class يلوّنان مجموعة منها، وهذا ما تحتاجه بعد تجاوز ثلاث أو أربع عقد.
flowchart TD
A[OK] --> B[Failed]
style A fill:#16a34a,stroke:#333,color:#fff
classDef bad fill:#dc2626,stroke:#333,color:#fff
class B badالألوان جزء من مصدر المخطط، لذا تبقى بعد التصدير وتنتقل مع الملف. لا شيء هنا يعتمد على إعداد سمة في الأداة التي تعرضه.
مثال واحد لكل نوع مخطط
المخطط التسلسلي
sequenceDiagram
participant User
participant API
participant DB
User->>API: request
API->>DB: query
DB-->>API: rows
API-->>User: responseمخطط الفئات
classDiagram
class Animal {
+String name
+move()
}
class Dog {
+bark()
}
Animal <|-- Dogمخطط الحالة
stateDiagram-v2
[*] --> Idle
Idle --> Running: start
Running --> Idle: stop
Running --> [*]: finishمخطط علاقات الكيانات
erDiagram
CUSTOMER ||--o{ ORDER : places
ORDER ||--|{ LINE_ITEM : contains
CUSTOMER {
string name
string email
}مخطط جانت
gantt
title Project
dateFormat YYYY-MM-DD
section Phase 1
Task 1 :a1, 2026-01-01, 5d
Task 2 :after a1, 5dأين يُعرض mermaid من تلقاء نفسه
- GitHub — كتلة ```mermaid محاطة تُعرض في المشكلات وطلبات السحب والتعليقات وملفات README.
- GitLab — الكتلة المحاطة نفسها، في المشكلات وطلبات الدمج والويكي.
- Notion — كتلة كود بلغة مضبوطة على Mermaid تُعرض بجانب المصدر.
- Obsidian — كتلة mermaid محاطة تُعرض في وضع المعاينة.
- مواقع التوثيق — Docusaurus وMkDocs Material وVitePress كلها تدعم كتل mermaid.
هذا هو السبب الحقيقي للاحتفاظ بالمخططات بصيغة mermaid بدلًا من الصور: يعيش المخطط في نفس الملف النصي للشيء الذي يصفه، ومراجعة الكود يمكنها رؤية ما تغيّر فيه.
جرّب أي مقتطف في هذه الصفحة
الصقه في تبويب الكود وسيُرسم فورًا — أو ابنِ المخطط نفسه على اللوحة واقرأ الصياغة الناتجة.
أسئلة متكررة
كيف أضيف فاصل أسطر داخل تسمية عقدة؟
استخدم <br> داخل تسمية بين علامتي اقتباس: A["First line<br>Second line"]. يعرض mermaid التسمية كـ HTML، لذا تعمل الوسمة رغم أن باقي الصياغة ليست HTML.
لماذا تكسر تسميتي المخطط؟
غالبًا بسبب قوس أو نقطتين أو علامة اقتباس داخل التسمية بدون علامات اقتباس محيطة. ضع التسمية كاملة بين علامتي اقتباس مزدوجتين ليتوقف المحلل عن معاملة علامات الترقيم كصياغة.
هل يمكنني التحكم في التخطيط؟
بشكل غير مباشر فقط. اختر الاتجاه (TD، LR، BT، RL)، استخدم أسهمًا أطول (--->) لدفع العقد بعيدًا عن بعضها، وجمّع العقد المرتبطة في مخططات فرعية. يحسب mermaid الباقي — لا توجد إحداثيات.
أي إصدار من mermaid يستخدمه هذا المحرر؟
الإصدار Mermaid 11، وهو الإصدار الرئيسي الحالي، لذا كل ما هو موثّق لصياغة v10 وv11 يُعرض هنا.