لتبسيط مخطط حالات Mermaid في Obsidian على جهاز Mac، أبقِ كل انتقال صالح صريحًا، واختصر التسميات، واختبر اتجاه القراءة. قارن بين المصدر والوجهة ونص الانتقال قبل اعتماد النتيجة.

يستخدم هذا الشرح أربع حالات اصطناعية، من A إلى D. المطلوب هو جعل مخطط واحد أسهل قراءةً مع الحفاظ على انتقالاته المباشرة ومسارات العودة وعلامتي البداية والنهاية. يوفر جدول الانتقالات طريقة عملية للتحقق من هذا الحفاظ، بمعزل عن طريقة ترتيب العارض للأسهم.

ما الذي يجب أن يظل دون تغيير عند تبسيط المخطط؟

ابدأ بالفصل بين تغييرات العرض والتغييرات التي تمس النموذج. يمكن للتسميات الأقصر واتجاه القراءة المختلف تحسين سهولة القراءة. أما حذف سهم فيغيّر مجموعة الانتقالات المباشرة، حتى لو ظل مسار آخر يصل في النهاية إلى الوجهة نفسها.

على سبيل المثال، لنفترض وجود انتقال مباشر من A إلى C، ووجود مسار آخر يمر عبر B. حذف الانتقال المباشر سيجبر القارئ على استنتاج زيارة وسيطة إلى B. هذا يحافظ على إمكانية الوصول، لكنه يفقد انتقالًا صالحًا من خطوة واحدة. في هذا المثال، لا يكفي الوصول إلى الوجهة نفسها في نهاية المطاف.

استخدم قائمة الانتقالات التالية بوصفها المواصفات الأصلية. التسميات أسماء أحداث اصطناعية؛ ولها معنى ضمن هذا المثال، لذا يجب أن تبقى مرتبطة بأسهمها الأصلية.

المصدر الوجهة نص الانتقال
البداية A لا شيء
A B step
A C alternate
B C next
B A reset
C B back
C A reset
C D finish
D النهاية لا شيء

هناك تسعة انتقالات، بما فيها البداية والنهاية. يحمل سهمان التسمية reset، لكنهما ينطلقان من حالتين مختلفتين. أبقِ كليهما. وبالمثل، فإن السهمين بين B وC يتجهان في اتجاهين مختلفين ويحملان تسميتين مختلفتين؛ لذا فهما انتقالان منفصلان.

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

تحقّق من العارض الذي يستخدمه إصدار Obsidian المثبّت لديك

على جهاز Mac، افتح Settings من خلال رمز الترس في الشريط الجانبي، ثم اختر General. سجّل إصدار التطبيق الحالي وإصدار برنامج التثبيت الظاهرين في الأعلى. استخدم إصدار التطبيق عند البحث في ملاحظات الإصدار ذات الصلة. ترد هذه المواقع في مساعدة إعدادات Obsidian.

يهمّ هنا حدّ العارض. فإصدار الوصول المبكر Obsidian 1.15.0 Desktop، المؤرخ في 22 أكتوبر 2026، ينقل عرض المخططات إلى Pele ويذكر التوافق مع صياغة Mermaid 12.1.0. كما تشير ملاحظات الإصدار إلى أن هذه النسخة لم تعد تتضمن مكتبة Mermaid. ينطبق ذلك على الإصدار المذكور، ولا يحدد العارض المستخدم في كل إصدار مثبّت من Obsidian. راجع ملاحظات إصدار Obsidian 1.15.0 Desktop.

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

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

أنشئ نسخة موجزة مع انتقالات صريحة

ينفذ المثال الكامل أدناه صفوف قائمة الانتقالات التسعة كلها. أسماء الحالات الظاهرة قصيرة عمدًا. الحالة A هي نقطة البداية، وللحالتين B وC مسارا عودة، أما الحالة D وحدها فلها انتقال إلى علامة النهاية.

يوثّق Mermaid الأسماء البديلة للحالات والانتقالات المسماة وعلامتي البداية والنهاية وعبارة الاتجاه في مرجع مخططات الحالات. أما طريقة الإدراج الموثقة في Obsidian فهي كتلة شيفرة محاطة بسياج وتستخدم معرّف اللغة mermaid، كما يوضح دليل صياغة المحتوى المتقدمة.

```mermaid
stateDiagram-v2
    direction LR

    state "Stage A" as A
    state "Stage B" as B
    state "Stage C" as C
    state "Stage D" as D

    [*] --> A

    A --> B : step
    A --> C : alternate

    B --> A : reset
    B --> C : next

    C --> A : reset
    C --> B : back
    C --> D : finish

    D --> [*]
```

الصق مثال Markdown كاملًا، بما في ذلك سطرا السياج الثلاثي الافتتاحي والختامي، في ملاحظة. أما سياج علامات الاقتباس الخلفية الأربع المحيط بالمثال هنا، فغرضه عرض المثال في هذه المقالة فقط، ولا يُعد جزءًا من محتوى الملاحظة.

لمعاينة النص بدقة، استخدم Source mode. ولمعاينة النتيجة المعروضة، انتقل إلى Reading view؛ في macOS، يبدّل Cmd+E بين عرض القراءة والتحرير. يشرح Obsidian هذه عناصر التحكم في العروض ووضع التحرير.

جُمعت عبارات الانتقال بحسب حالة المصدر كي يمكن مراجعة خيارات الخروج من كل حالة معًا. يساعد هذا التنظيم في صيانة النص المصدر، لكنه لا يضمن موضع كل حالة في العارض.

جرّب المثال بعرض الملاحظة الذي تستخدمه عادةً. ثم احذف سطر direction LR وحده وقارن النتيجة. أبقِ العرض الذي يسهّل تتبع التفرعات ومسارات العودة. قد يتطلب المخطط من اليسار إلى اليمين مساحة أفقية أكبر، لذا قيّم النتيجة في لوحة الملاحظة الفعلية.

اختصر التسميات بالقدر الذي يسمح به معناها. في هذا المثال الاصطناعي، لا تحتاج Stage B إلى مزيد من التوضيح. أما في مخططك، فأبقِ على أي صياغة تميّز بين حالتين. وإذا لزم شرح مطوّل، فاكتبه في فقرة نثرية مجاورة وأبقِ صلة واضحة بمعرّف الحالة.

أي الاختصارات قد تغيّر النموذج؟

قد تغريك الأسهم المتكررة بإضافة عقدة وسيطة مشتركة. قبل فعل ذلك، اسأل عن معنى تلك العقدة، وما إذا كانت الانتقالات المباشرة الأصلية لا تزال موجودة.

تغيّر عقدة إعادة الضبط المشتركة المسارات المباشرة

في قائمة الانتقالات، ينتقل كل من B وC مباشرة إلى A عند reset. إن استبدال هذين السهمين بمسارين يمران عبر حالة جديدة اسمها R يضيف حالة وسيطة ويحذف الوصلتين المباشرتين الأصليتين. سيظل بإمكان القارئ تتبع مسار إلى A، لكن المخطط سيصف الآن خطوات مختلفة.

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

يحتاج الاختيار أو التفرّع إلى مبرر في النموذج

يوثّق Mermaid استخدام <<choice>> للتفرع بين المسارات، و<<fork>> و<<join>> لتراكيب التفرّع والالتقاء. وهذه عناصر مختلفة في مرجع مخططات الحالات.

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

للحالات المركبة حدود موثقة

يدعم Mermaid الحالات المركبة، لكن توثيقه يمنع صراحةً الانتقالات بين الحالات الداخلية التابعة لحالات مركبة مختلفة. راجع الحالات المركبة.

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

لا يضيف التداخل الكثير إلى مثال الحالات الأربع. فالتبسيط المفيد هنا هو تقصير التسميات وتحسين العرض مع إبقاء بنية الانتقالات كما هي.

تحقّق من الانتقالات والنتيجة المعروضة

أجرِ مراجعتين قبل استبدال المخطط الأصلي. تتحقق الأولى من النموذج، والثانية من مدى فائدة العرض المختار.

  1. قارن كل صف في القائمة بعبارة انتقال. تأكد من تطابق النهايتين والتسمية كاملةً.
  2. راجع كل عبارة انتقال بمقارنتها عكسيًا بالقائمة. يكشف هذا الأسهم الإضافية كما يكشف الناقصة.
  3. تحقّق من البداية والنهاية كلٍّ على حدة. هنا، تقود البداية إلى A وحدها، ولا تؤدي إلى النهاية إلا D.
  4. افحص المخطط المعروض للتأكد من وضوح التسميات وإمكانية تمييز رؤوس الأسهم.
  5. تتبّع مساري العودة من B وC، إذ يسهل إغفالهما عند مراجعة المسار الأمامي وحده.

في هذا المثال، جرّب ثلاثة اختبارات للقراءة: من البداية إلى A، ثم C، ثم D، ثم النهاية؛ ومن البداية إلى A، ثم B، ثم إعادة الضبط إلى A؛ ومن البداية إلى A، ثم C، ثم العودة إلى B. تختبر هذه المسارات البديل وإعادة الضبط والاتصال العكسي. وهي تكمل مقارنة الصفوف ولا تحل محلها.

أكدت مقارنة نصية حتمية أن عبارات الانتقال التسع في المثال تطابق القائمة، بما في ذلك تسمياتها. ولم يُعرض المثال في تطبيق Obsidian مثبّت أثناء الإعداد، لذا ما زال يلزم التحقق من تباعده النهائي ومسارات الأسهم في إصدارك المحلي.

إذا ظهرت في الملاحظة شيفرة حرفية، فتحقق أولًا من أنك تعرضها في Reading view، ومن أن سياج الفتح يحدد mermaid. وإذا ظهر خطأ في التحليل بعد التحرير، فارجع إلى المثال الكامل وأعِد تطبيق تغيير واحد في كل مرة. وإذا كانت المشكلة في التخطيط فقط، فأبقِ الانتقالات كما هي وقارن بين طول التسميات والاتجاه وعرض اللوحة المتاح.

أبقِ على النسخة التي تسهّل قراءة تسمياتها ومساراتها بعد اجتياز مقارنة القائمة. يتيح التبسيط الناجح للقارئ تتبع الانتقالات الصالحة نفسها بجهد أقل، مع إبقاء النص المصدر سهل الفحص والصيانة.

المصادر