ماركداون

ماركداون هي رموز للتنسيق تعتمد على لغة ترميز بسيطة، أنشأها جون غروبر وساهم فيها آرون سوارتز، تسمح بكتابة محتوى نصي بسيط يتميز بسهولة الكتابة والقراءة، ثم تحويله إلى لغة HTML أو XHTML.
وهي تأخذ العديد من التعليمات من الأعراف الحالية التي تستخدم لترميز نص عادي في البريد الالكتروني. النص المنسق بواسطة تلك الرموز ينبغي أن يكون قابلاً للقراءة كما هو، من دون النظر إلى التوصيفات وعلامات التنسيق ،
على عكس النص المنسق بلغة توصيف أخرى مثل HTML، التي لديها تنسيقات واضحة وتعليمات تنسيق معينة. ماركداون تقوم ببناء جملة منسقة مقروءة وأيضاً يمكن تحويلها إلى HTML بسهولة.
الماركداون هو مخطوطة بيرل كتبها غروبر والتي تحول النص المدخل المرمز إلى نص HTML أو XHTML صالح. ويمكن استخدامها كبرنامج نصي مستقل أو كبرنامج مساعد لبلوزكسوم أو موفابل تايب أو كمرشح نصوص ل BBEdit.
منذ ذلك الحين أصبح يمكن استخدامها من قبل الآخرين بوصفها كتلة برمجية من بيرل متوفرة في أرشيف شبكة بيرل الشامل، واستخدمت أيضاُ في مجموعة لغات برمجة متنوعة. يتم توزيعه تحت رخص بي إس دي ويمكن أن يُتضمن أو يكون متاحاً كبرنامج مساعد للعديد من أنظمة إدارة المحتوى.
تستخدم هذه اللغة في مواقع مثل غيت هاب، وريديت وستاك أوفرفلو، وسورس فورج.نت لتسهيل المناقشة بين المستخدمين.
أمثلة على قواعد اللغة
عناوين
نص العنوان في HTML ينتج عن طريق استبدال عدد الهاشات (#) الموجودة قبل نص العنوان الخاضع لمستوى الترويس المطلوب (HTML توفر ست مستويات لترويسات العناوين)، مثل:
# مستوى الترويس-(عنونة) أول
#### مستوى الترويس-(عنونة) رابع
هذا ما يترجم في لغة HTML إلى:
= مستوى ترويس (عنونة) أول =
==== مستوى ترويس (عنونة) رابع ====
اختياريا، الترويسات يمكن أن يتم إغلاقها (ختمها) بهاشات (#) ليس بالضرورة أن يطابق عددها عدد الهاشات الموجودة في بداية الترويسة، وفقط لأسباب تجميلية يمكن أن نكتب:
# مستوى الترويس-(عنونة) الأول #
#### مستوى الترويس-(عنونة) الرابع ####
## مستوى الترويس-(عنونة) الثاني ##
مستويا العنونة الأول والثاني يمكن أن يستخدما قاعدة لغوية أخرى للتعبير عنهما:
مستوى الترويس-(عنونة) الأول
===================
مستوى الترويس-(عنونة) الثاني
--------------------
الفقرات
الفقرة: هي سطر واحد أو أكثر من النص يفصل بينها سطر فارغ أو أكثر.لا ينبغي أن تبدأ الفقرات العادية بمسافة بادئة أو بعلامات تبويب.
هذه فقرة. وهي مكونة من جملتين.
هذه فقرة أخرى. وتتكون من جملتين أيضاً.
يترجم المثال أعلاه إلى:
<p> هذا الفقرة. فقد اثنين من الجمل. </ P>
<p> هذا فقرة أخرى. كما أن لديها جملتين. </ P>
فواصل الأسطر
لإدراج فاصل أسطر، قم بإنهاء السطر بمسافتين فارغتين أو أكثر متبوعة بزر الإدخال (Enter) كمثال:
def␣show_results␣␣
end
و هذا ما يترجم في لغة HTML إلى:
def show_results<br />end
القوائم
هناك نوعين من تصنيف القوائم: قوائم مرتبة وقوائم غير مرتبة كما في لغة html.
يتم إنشاء قائمة غير مرتبة عن طريق وضع عدد من المسافات البادئة و «الرموز النقطية» أمام عنصر القائمة. «الرموز النقطية» تشمل " * "، " + "،" - "
*عنصر في قائمة غير مرتبة.
+بند ويضمن 4 مسافات بادئة.
*عنصر آخر في قائمة غير مرتبة.
*أيضاً عنصر آخر.
وهذا يترجم إلى:
<ul>
<li> عنصر في قائمة غير مرتبة.
<ul>
<li> بند ويضمن 4 مسافات بادئة.</li>
</ul>
</li>
<li>عنصر آخر في قائمة غير مرتبة.</li>
<li>أيضاً عنصر آخر.</li>
</ul>
أما بالنسبة للقوائم المرتبة قد لاتحتاج القوائم أن تكون مرتبة بما يوافق ترتيب العناصر.
1. عنصر في قائمة تعداد.
1. A بند فرعي، بادئة مع 4 مساحات.
2. بند آخر في قائمة تعداد.
3. بند آخر.
4. بند آخر.
وهذا يترجم بلغة html إلى:
<ol>
<li>عنصر في قائمة تعداد.
<ol>
<li> بند فرعي، بادئة مع 4 مساحات.</li>
</ol>
</li>
<li> بند آخر في قائمة تعداد.</li>
<li>بند آخر.</li>
<li>بند آخر.</li>
</ol>
إذا وضعت أسطر فارغة بين العناصر، وستُحلل على أنها فقرات. يمكن إنشاء قائمة عناصر لائحة متعددة الفقرات من خلال المسافات البادئة بنسبة 4 مسافات أو علامة التبويب . على سبيل المثال:
* عنصر قائمة.
مع فقرات متعددة.
* عنصر آخر.
يترجم إلى لغة html كالتالي:
<ul>
<li><p>عنصر قائمة</p><p>مع فقرات متعددة</p></li>
<li>عنصر آخر</li>
</ul>
نص مؤكد
النص المؤكد يمكن أن يكون بنى جمل متعددة، إما ترفق مع العلامات النجمية أو تبرز. مرفق مع علامة نجمية واحدة أو تسطير يمثل المائل.
التركيز (مائل) * أو توكيد (مائل) _وهذا يترجم إلى: <EM> التركيز (المائل) </ EM> أو <EM> التركيز (المائل) </ EM>
أرفق مع اثنين من العلامات النجمية أو يبرز ويمثل بحروف بارزة.
تركيز قوي (بحروف بارزة) ** أو __ تركيز قوي (بحروف بارزة) __
النص البرمجي (الشيفرة)
لإدراج نص برمجي (منسق بخط ثابت العرض)، بإمكانك إما أن تحيط الكود المضمن بإشارات اقتباس خلفية (`) أو أن تبدأ السطور العديدة من الكود على الأقل مع أربع مسافات بادئة
علامات الاقتباس الخلفية يمكن أن تستخدم في الجملة لتمثيل الكود:
نص ما مع ` شيفرة برمجية ما ` بداخله
هذا ما يترجم في لغة HTML إلى:
نص ما مع <code>شيفرة برمجية ما </code> بداخله
الشيفرات البرمجية التي تتوضع على عدة أسطر أو القطع الأطول من الكود يجب أن تسبق بأربع مسافات بادئة كما المثال:
سطر 1 من الكود
سطر 2 من الكود
سطر 3 من الكود
هذا ما يترجم في لغة HTML إلى:
<pre>
<code>
سطر 1 من الكود
سطر 2 من الكود
سطر 3 من الكود
</code>
</pre>
الخيار الثاني يجعل ماركداون تحتفظ بالمسافات الفارغة -على عكس السلوك المعتاد للغة الذي يعمل على إزالة فواصل الأسطر والمسافات الزائدة، قد يتم كسر المسافات البادئة وتغيير المظهر الخارجي للكود.
الاقتباس
يمكن إنشاءاقتباس بإضافة >
> "سيتم إحاطة هذه الفقرة بأكملها من النص في عنصر اقتباس.
عناصر الاقتباس قابلة لإعادة التدفق. تستطيع
إنهاءالنص بالشكل الذي يرضيك تعسفياً، وسوف يكون توزيعه
في عنصر الاقتباس فقرة واحدة ".
ويترجم إلى نص html كالتالي:
<blockquote><p> "سيتم إحاطة هذه الفقرة بأكملها من النص في عنصر اقتباس.
عناصر الاقتباس قابلة لإعادة التدفق. تستطيع
إنهاءالنص بالشكل الذي يرضيك تعسفياً، وسوف يكون توزيعه
في عنصر الاقتباس فقرة واحدة ".</p></blockquote>
صور
للصور تركيب مشابه ليربط مع علامة التعجب السابقة.
![النص البديل](/path/to/img.jpg)
هذا يترجم إلى لغة html كالتالي:
<img src="/path/to/img.jpg" alt="النص البديل" />
يمكن إضافة العنوان بشكل اختياري إلى نهاية عنوان الرابط بين علامتي اقتباس كما هو موضح:
![النص البديل](/path/to/img.jpg «العنوان الاختياري»)
يترجم إلى لغة html كالتالي:
<img src="/path/to/img.jpg" alt="النص البديل" title="العنوان الاخيتاري" />
يمكن إضافة حاشية للصور مثل الروابط:
![Alt text][id]
كما يجب الإشارة إلى أنه يجب تحديد url لاحقاً في المستند.
[id]: url/to/image "العنوان الاختياري"
مسطرة أفقية
يتم إنشاء مسطرة أفقية (خط أفقي فاصل) بكتابة ثلاثة أو أكثر من الشرطات أو الشرطات السفلية أو النجوم. ويمكن إضافة مسافات بينها. كل من الأسطر التالية سوف ينتج مسطرة أفقية:
***
***
*****
---
---------------------------------------
جميعا تُترجم في HTML إلى <hr />.
المحررات
بالرغم من أن ماركداون هي لغة ترميز تتعلق بالحد الأدنى من الموارد وسهلة القراءة والتحرير بواسطة محرر نصوص عادي إلا أنه يوجد محررات مصممة خصيصاً تتيح معاينة الملفات مباشرة مع كافة التنسيقات، يوجد عدد من هذه المحررات متوافرة لكل من المنصات الأكثر انتشاراً. كما ويوجد إضافة تقوم بتلوين الكلمات المحجوزة من اللغة مدمجة مع كل من المحررات emacs , gedit و vim
تطبيقها
تطبق المارك داون في كثير من الأطر المختلفة، والمنصات واللغات.
مولد التوثيق المصدري دي أكسجين يدعم المارك داون مع ميزات اضافية. * *آرستدويو هي بيئة تطوير متكاملة من R يوفر ميزة تغليف التوابع بالسي++ لتنفيذ الماركدوان ببرمجيات سنداون.
إنتيليج إيديا، هي بيئة تطوير متكاملة للجافا، وتدعم الماركداون كبرنامج مساعد.
ملتيماركداون صيغة وبرنامج يمتلك مميزات أكثر في قواعد اللغة وخيارات التصدير من المارك داون التقليدية
«الغيتهاب يفضل المارك داون»(GFM) ولها العديد من التطبيقات. ويضيف GFM تعليم الصيغة وقائمة المهام إلى الماركدوان القياسية.
وهناك الكثير من التطبيقات المفتوحة المصدر المتوفرة على شبكة الإنترنت.
توحيد المعايير
ليس هناك معايير محددة للماركداون بوضوح، عدا عن writeup الأصلي المنفذ من قبل جون غروبر. في أواخر عام 2012، بدأ جهد لتوحيد المعايير القياسية، كان السبب غالباً تدوينة من مدونة جيف أتوود. يسعى مجتمع الإنترنت الآن إلى "وثيقة متنوعة من الأدوات والموارد المتاحة لمؤلفي المستندات والمطورين، فضلاً عن المنفذين لمختلف تطبيقات الماركداون
". والآن تتوفر أداة تسمى "Babelmark2" )
لمقارنة خرج التطبيقات المختلفة«و» تشجيع المناقشة لتوضيح بعض الجوانب الغامضة من مواصفات المارك داون.
انظر أيضا
جون غروبر
آرون سوارتز
مراجع
روابط خارجية
المشروع الرسمي للماركداون على مدونة دارينغ فاير بول
صفحة مجتمع المارك داون
تنسيقات مفتوحة
استحداثات متعلقة بالحواسيب في 2004
تدوين الملاحظات
لغات الترميز خفيفة الوزن
لغات حاسوب