القصة وراء محرر Markdown
Markdown طريقة لكتابة نص منسق يبقى مقروءًا بشكل طبيعي كنص عادي. النجوم للتأكيد وعلامات المربع للعناوين والشرطات للقوائم أُخذت من الطريقة التي كان الناس يكتبون بها رسائل البريد. تروي هذه الصفحة كيف صارت هذه الفكرة البسيطة لغة ملفات README والملاحظات والتوثيق.
وُلد من البريد الإلكتروني
في عام 2004 نشر جون غروبر لغة Markdown على موقعه Daring Fireball بمساعدة آرون شوارتز. كان الهدف نصًا سهل القراءة والكتابة كما هو، ومع ذلك يتحول إلى HTML بشكل نظيف. جاءت أعراف كثيرة من البريد الإلكتروني ومن صيغ نصية أقدم مثل Setext: وضع علامات يساوي تحت السطر لصنع عنوان، وإحاطة الكلمة بالنجوم لتأكيدها، وبدء الأسطر بشرطة لصنع قائمة. كان المحوّل الأول سكربت Perl واحدًا.
لهجات كثيرة
ترك الوصف الأصلي حالات حدية كثيرة مفتوحة، مثل مقدار إزاحة القائمة المتداخلة أو متى ينهي السطر الفارغ الكتلة. قرر كل تطبيق جديد بطريقة مختلفة، فصار النص نفسه يظهر بشكل مختلف في مواقع مختلفة. في عام 2014 نشر جون ماكفارلين وجيف أتوود وآخرون مواصفة دقيقة تضم مئات الأمثلة. سُميت أولًا Standard Markdown، ثم غُيّر اسمها إلى CommonMark بعد اعتراض غروبر.
GitHub Flavored Markdown
جعلت GitHub لغة Markdown جزءًا من العمل اليومي للمبرمجين عبر ملفات README والقضايا والتعليقات. وفي عام 2017 نشرت مواصفة رسمية لـ GitHub Flavored Markdown بوصفها امتدادًا صارمًا لـ CommonMark. تضيف المواصفة جداول بمحاذاة الأعمدة، وقوائم مهام بمربعات اختيار، ونصًا مشطوبًا بعلامتي تلدة، وروابط تُكتشف تلقائيًا. وقد أتاحت كتل الشيفرة المسوّرة مع اسم اللغة، الشائعة من قبل، تلوين الصياغة.
لماذا تُنظَّف المعاينات
تسمح Markdown بـ HTML الخام، وهذا مريح لكنه خطر. إذا عرضت صفحة Markdown كتبه شخص آخر، فقد يشغّل وسم script مخفي أو خاصية onerror على صورة أو رابط javascript شيفرة في متصفح القارئ، وهو هجوم يسمى البرمجة عبر المواقع. لذلك يعرض هذا المحرر HTML الخام نصًا، ويحذف مخططات الروابط غير الآمنة، ويمرر النتيجة عبر قائمة سماح بالعناصر والخصائص قبل عرضها.
الأسئلة المتداولة
من اخترع Markdown؟
أنشأ جون غروبر لغة Markdown عام 2004، وكان آرون شوارتز متعاونًا ومختبرًا مهمًا منذ البداية.
ما الفرق بين CommonMark وGFM؟
CommonMark مواصفة دقيقة لنواة Markdown. ويبني GitHub Flavored Markdown عليها ويضيف الجداول وقوائم المهام والنص المشطوب والروابط التلقائية.
لماذا يظهر HTML الخاص بي نصًا؟
من أجل الأمان. قد يحمل HTML الخام سكربتات، لذلك يهرّبه المحرر ولا ينتج إلا عناصر يعرف أنها غير ضارة.
هل أنت مستعد لتجربتها؟
افتح PictorX في متصفحك - بدون تثبيت، ولا يلزم وجود بطاقة ائتمان للبدء.
افتح محرر Markdown