تحسين معالجة فقرات markdown

وفقًا لـ مواصفات CommonMark

فقرة
نهاية السطر هي سطر جديد (U+000A)، أو إرجاع carriage return (U+000D) غير متبوع بسطر جديد، أو إرجاع carriage return متبوع بسطر جديد.

أو مواصفات Github Flavored Markdown

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

لذلك،

Foo
bar

يجب أن يتم عرضها كـ

Foo bar

ولكن بدلاً من ذلك، يتم عرضها كـ

Foo
bar

راجع مثال CommonMark أو مثال GitHub.

هل هذا خطأ أم انحراف مقصود عن المواصفات؟

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

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

إليك مثال:

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

3 إعجابات

هذا متعمّد ويتبع نفس السلوك المتبع في GitHub:

يمكن للمسؤولين تمكين إعداد “الفاصل السطر التقليدي في الماركداون” في إعدادات الموقع لتغيير السلوك.

قد تود الاطلاع على هذا الموضوع الذي يشرح بعض المبررات وراء التنفيذ.

5 إعجابات

شكرًا جزيلاً. سأقرأ المزيد عن ذلك

4 إعجابات