لماذا يفعل markdown هذا؟ (إزالة المسافات البيضاء وميزات أخرى)

اعتذر عن العنوان الغامض،

أنا بصدد تعديل بعض الوظائف باستخدام ماركداون في ديسكورس لتناسب احتياجات مجتمعي بشكل أفضل والذي ينتقل من منتدى mybb.

ديسكورس هو أول تعرض لي لماركداون، وأريد أن أتبع نهج “لا تهدم سياجًا إذا كنت لا تعرف سبب وجوده”. ومع ذلك، أواجه صعوبة في معرفة سبب قيام ماركداون بإجراءات معينة وأود بعض الموارد لمساعدتي في الفهم، (خاصة إذا كانت هناك بعض المخاوف الأمنية التي قد أغفلها).

قدم الرد في هذا الموضوع بعض المراجع العامة الجيدة بما في ذلك بعض المناقشات المبكرة ومكون إضافي (لم يعد موجودًا):

وقد كان هذا المنشور مفيدًا للغاية من الناحية التطويرية:

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

الميزات الحالية التي أركز عليها هي:

  1. إزالة فواصل الأسطر المتتالية بدون <br> أو أي كود آخر.
  2. الإنشاء التلقائي لكتل التعليمات البرمجية على الأسطر التي تحتوي على 4 مسافات بادئة أو أكثر.
  3. اقتطاع المسافات البادئة في بداية السطر الجديد.
  4. تحويل أي تسلسل من الأرقام إلى قائمة مرقمة بترتيب متزايد متتالي.

أي توجيهات ستكون موضع تقدير! شكرا!

4 إعجابات

أنا مهتم جدًا بهذا الموضوع ولكن ليس لدي المعرفة للإجابة على معظم أسئلتك.

ومع ذلك،

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

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

5 إعجابات

في الواقع، يمكن أن يجعل الاحتفاظ بكل شيء ضيقًا جدًا الأمور أصعب في القراءة. الفقرة بعد صورة يمكن أن تكون مثالاً.

لكن… أنا أستخدم <br /> لذلك لا توجد مشكلة كبيرة على الإطلاق.

لكن آخر… أنا متأكد تمامًا من أن عملية التنظيف لا علاقة لها بتجربة قراءة أنظف. إنها تأتي من الكود نفسه. شيء مشابه للبيان المتعب للغاية بأن markdown أسهل في القراءة على “مستوى الكود”. المستخدم النهائي ليس في هذا الموقف أبدًا.

حسنًا. هذا مجرد وصف ذاتي الآن.

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

إعجابَين (2)

لست متأكدًا مما إذا كان هذا سيحل مشكلة لديك، ولكن لدى Discourse إعداد موقع traditional markdown linebreaks وهو معطل افتراضيًا. عند تمكينه، يلزم وجود مسافتين لاحقتين لإنشاء فاصل سطر.

إليك مثال مع تمكين هذا الإعداد:

إليك مثال مع تعطيل الإعداد (القيمة الافتراضية للإعداد):

قد يكون من المفيد إلقاء نظرة على هذه الصفحة وتجربة برنامجها التعليمي الخاص بـ markdown لمدة 10 دقائق: Markdown Reference. يرتبط البرنامج التعليمي للمستخدم الجديد في Discourse بهذه الصفحة، ولكنه غالبًا ما يتم تجاهله من قبل العديد من المستخدمين الذين يأخذون البرنامج التعليمي:

5 إعجابات

يجعل بالتأكيد فن الآسكي تحديًا للعرض بشكل صحيح. :wink:

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

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

5 إعجابات

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

هذا، أعتقد، هو الوصف الأصلي لماركداون، كما استشهد به فريق commonmark، ويكشف أن عنصرًا أساسيًا في سبب قيام ماركداون بما يفعله هو بسبب قربه من HTML.

على سبيل المثال، الجملة الأولى هناك هي:

ماركداون هو أداة تحويل نص إلى HTML لكتاب الويب.

وأعتقد أن بعض هذه الخصائص الغريبة لماركداون قد تكون أقل بسبب خصائصها التنظيمية وأكثر لرغبة في تحويل النص بشكل نظيف إلى كود HTML المقابل.

هذا يفسر سبب اقتطاع المسافات البيضاء، لأن HTML تقطع مسافاتها البيضاء.

أيضًا، يصبح سبب تحويل أي تسلسل من الأرقام إلى قائمة مرقمة متزايدة أوضح قليلاً مع:

لذلك لا يكلف ماركداون نفسه عناء النظر إلى الأرقام، لأن القوائم المرتبة في HTML لا تكلف نفسها عناء تعيين الأرقام. (الكود الفعلي في markdown-it يتحقق من الحرف في الموضع الأول، ولكن فقط لبدء الترقيم من هذا الحرف).

أعتقد أن هناك المزيد وراء هذا، (مثل الاتساق في التنسيق عبر أجهزة متعددة) ولكن بعض الجوانب الأكثر غرابة تبدو مستوحاة جدًا من HTML.

إعجابَين (2)