لعرض سطر Markdown برمجي طويل بالكامل، أبقِ الشيفرة كما هي وعدّل طريقة عرضها. يساعد هذا الدليل مستخدمي Mac على تشخيص الأمثلة المقتطعة، وتفعيل التفاف الأسطر في عرض القراءة في Obsidian، وفهم ما ينتقل إلى GitHub.

ما الذي يحدد التفاف سطر الشيفرة؟

تحافظ كتلة الشيفرة المحاطة بعلامات سياج على الشيفرة بوصفها محتوى حرفيًا. تحدد CommonMark علامات السياج الافتتاحية والختامية وكيفية تحليل المحتوى؛ لكنها لا توفر مفتاحًا قابلًا للنقل لالتفاف الأسطر الطويلة. الإصدار الحالي من مواصفاتها هو 0.31.2. مواصفات CommonMark، كتل الشيفرة المحاطة بعلامات سياج.

تتبع GitHub Flavored Markdown القواعد الأساسية نفسها للكتل المحاطة بعلامات سياج. ولا تفرض مواصفاتها كذلك تعليمة التفاف في سلسلة معلومات السياج. لذلك، فإن إضافة wrap بعد اسم اللغة لا تضمن سلوكًا قابلًا للنقل لالتفاف الأسطر. تشير مواصفات GFM المنشورة إلى الإصدار 0.29-gfm؛ ولا ينبغي الخلط بين رقم إصدارها وإصدار CommonMark الحالي. مواصفات GitHub Flavored Markdown.

لهذا الغرض، ميّز بين ثلاث نتائج:

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

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

التمييز بين المصدر وطريقة العرض واضح في CSS: تؤثر معالجة المسافات البيضاء في العرض المرئي من دون تغيير بيانات المستند الأساسية. وهذا يجعل الالتفاف المرئي نقطة بداية مفيدة عندما يجب أن يظل المثال قابلًا للنسخ كسطر واحد. وحدة CSS Text المستوى 3.

تحقق أولًا مما إذا كان المثال ناقصًا أم خارج نطاق العرض فحسب

قبل تعديل أمر أو تعبير طويل، افحص المصدر. في Obsidian، اختر وضع المصدر باستخدام عنصر التحكم الخاص بوضع التحرير. ولمقارنة الناتج المعروض على Mac، استخدم Cmd+E للتبديل بين التحرير وعرض القراءة. يميز Obsidian بين هذين العرضين والمعاينة المباشرة، وهي وضع للتحرير. العروض ووضع التحرير.

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

```text
BEGIN sample=amber notebook=desktop layout=wide description=This synthetic example contains a deliberately long line so you can check whether the final marker remains visible when the note pane becomes narrow END
```

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

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

تحقق أيضًا من علامات السياج. يجب أن تستخدم علامة الإغلاق الحرف نفسه المستخدم في علامة الفتح، وأن تحتوي على عدد مساوٍ على الأقل من أحرف السياج. وقد تؤدي علامة مطابقة داخل المثال إلى إغلاق الكتلة مبكرًا. مواصفات CommonMark، كتل الشيفرة المحاطة بعلامات سياج. عند شرح صياغة Markdown، يمكن لعلامة سياج خارجية من أربع علامات backtick أن تعرض كتلة داخلية محاطة بثلاث علامات backtick، كما في الأعلى. إنشاء كتل الشيفرة وإبرازها.

امنح ملاحظة Obsidian مساحة أكبر قبل إضافة CSS

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

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

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

التفاف أسطر الشيفرة الطويلة في عرض القراءة في Obsidian

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

إنشاء المقتطف وتفعيله

  1. افتح الإعدادات → المظهر → مقتطفات CSS.
  2. اختر فتح مجلد المقتطفات.
  3. أنشئ wrap-code.css في ذلك المجلد باستخدام محرر نصوص عادي، واحفظ CSS أدناه.
  4. عُد إلى مقتطفات CSS، واختر إعادة تحميل المقتطفات، ثم فعّل wrap-code.

هذه هي خطوات التثبيت المكتبي التي يوثقها Obsidian. بعد التفعيل، تُطبَّق تغييرات المقتطف المحفوظة تلقائيًا في العادة. مقتطفات CSS.

.wrap-code pre,
.wrap-code pre code {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
}

أضف كتلة الخصائص هذه في بداية ملاحظة الاختبار. إذا كانت تحتوي على خصائص بالفعل، فأضف wrap-code إلى قيم cssclasses الموجودة بدلًا من إدراج كتلة خصائص ثانية.

---
cssclasses:
  - wrap-code
---

يوثّق Obsidian cssclasses بوصفها وسيلة لتطبيق CSS مخصص على ملاحظات محددة. هنا، يقصر .wrap-code القاعدة على تلك الملاحظات؛ وتستهدف بقية المحددات الكتل المعروضة مسبقة التنسيق ومحتوى الشيفرة فيها. لا تضبط هذه القاعدة مساحة التحرير. مقتطفات CSS.

افهم ما الذي يغيّره CSS

تحافظ القيمة white-space: pre-wrap على المسافات البيضاء وفواصل أسطر المصدر، مع السماح بالالتفاف المرئي. كما تسمح القيمة overflow-wrap: anywhere بالتفاف سلسلة لا يمكن عادةً فصلها عندما تدعو الحاجة، من دون إدراج واصلة. وتعالج القيمتان معًا الأسطر الطويلة التي تحتوي على مسافات والرموز الطويلة المتصلة. وحدة CSS Text المستوى 3، خاصية CSS overflow-wrap.

تجنب استبدال ذلك بـ white-space: normal: فهذه القيمة تدمج المسافات البيضاء، ما قد يغيّر المسافة البادئة المرئية التي تحاول الحفاظ عليها. كذلك، لا تستطيع overflow-wrap وحدها تجاوز قاعدة للمسافات البيضاء تمنع الالتفاف. خاصية CSS white-space، وحدة CSS Text المستوى 3.

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

أبقِ اختلافات المُصيّرات واضحة

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

الوجهة ما يمكن الاعتماد عليه ما ينبغي التحقق منه بصورة منفصلة
تطبيق CommonMark تحليل كتل الشيفرة المحاطة بعلامات سياج وفقًا للموثق الالتفاف والتمرير وعرض المساحة المتاحة
Markdown المعروض على GitHub علامات السياج ومعرّفات اللغة الموثقة في GitHub طريقة عرض كتلة الشيفرة في الوجهة الفعلية
عرض القراءة في Obsidian الملاحظة المعروضة مع التنسيق المحلي المفعّل ما إذا كان المقتطف يعمل مع نسق المظهر الحالي
المعاينة المباشرة أو وضع المصدر في Obsidian وضع التحرير المحدد عرض المحرر؛ فالمقتطف أعلاه لا يضبطه

تستند حدود الصياغة إلى مواصفات CommonMark، وتوثيق كتل الشيفرة من GitHub، وتوثيق العروض في Obsidian.

يوثّق GitHub أن معرّف اللغة بعد علامة السياج الافتتاحية يفعّل إبراز صياغة الشيفرة. لذلك، فإن تغيير text إلى معرّف لغة آخر ليس طريقة موثقة لطلب الالتفاف. أبقِ على المعرّف الصحيح للمثال، وتولَّ سلوك العرض في المُصيّر المسؤول عنه. إنشاء كتل الشيفرة وإبرازها.

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

استكشاف الأخطاء وإصلاحها دون اختصار محتوى ضروري

إذا بدا أن قاعدة Obsidian لا تفعل شيئًا، فاتبع الخطوات التالية:

  1. تأكد من أنك تختبر عرض القراءة.
  2. تأكد من ظهور wrap-code.css في مقتطفات CSS ومن تفعيله.
  3. تأكد من أن cssclasses في الملاحظة يتضمن wrap-code بالضبط.
  4. أوقف تشغيل المقتطف ثم أعد تشغيله أثناء عرض ملاحظة الاختبار التي لم تتغير.
  5. عند الحاجة، عطّل المقتطفات الأخرى مؤقتًا وقارن مع نسق Obsidian الافتراضي لعزل تعارض التنسيق.
  6. كرر الاختبار على المثال الفعلي قبل اعتبار المهمة مكتملة.

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

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

المصادر