ماركداون

لغة ترميز

ماركداون (بالإنجليزية: MarkDown)‏ هي رموز للتنسيق تعتمد على لغة ترميز بسيطة، أنشأها جون غروبر وساهم فيها آرون سوارتز، تسمح بكتابة محتوى نصي بسيط يتميز بسهولة الكتابة والقراءة، ثم تحويله إلى لغة HTML أو XHTML. [1] وهي تأخذ العديد من التعليمات من الأعراف الحالية التي تستخدم لترميز نص عادي في البريد الالكتروني. النص المنسق بواسطة تلك الرموز ينبغي أن يكون قابلاً للقراءة كما هو، من دون النظر إلى التوصيفات وعلامات التنسيق (بالإنجليزية: tags)‏، [2] على عكس النص المنسق بلغة توصيف أخرى مثل HTML، التي لديها تنسيقات واضحة وتعليمات تنسيق معينة. ماركداون تقوم ببناء جملة منسقة مقروءة وأيضاً يمكن تحويلها إلى HTML بسهولة.

الماركداون هو مخطوطة بيرل كتبها غروبر (بالإنجليزية: Markdown.pl)‏ والتي تحول النص المدخل المرمز إلى نص HTML أو XHTML صالح. ويمكن استخدامها كبرنامج نصي مستقل أو كبرنامج مساعد (بالإنجليزية: plugin)‏ لبلوزكسوم أو موفابل تايب أو كمرشح نصوص ل BBEdit. [1]

منذ ذلك الحين أصبح يمكن استخدامها من قبل الآخرين بوصفها كتلة برمجية من بيرل متوفرة في أرشيف شبكة بيرل الشامل، واستخدمت أيضاُ في مجموعة لغات برمجة متنوعة. يتم توزيعه تحت رخص بي إس دي [3] ويمكن أن يُتضمن أو يكون متاحاً كبرنامج مساعد للعديد من أنظمة إدارة المحتوى. [4][5]

تستخدم هذه اللغة في مواقع مثل غيت هاب، وريديت وستاك أوفرفلو، وسورس فورج.نت لتسهيل المناقشة بين المستخدمين. [6][7][8][9]

أمثلة على قواعد اللغة

عدل

عناوين

عدل

نص العنوان في 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 مسافات(بالإنجليزية: spaces)‏ أو علامة التبويب (بالإنجليزية: tabs)‏. على سبيل المثال:

* عنصر قائمة.
مع فقرات متعددة.
* عنصر آخر.

يترجم إلى لغة 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

تطبيقها

عدل

تطبق المارك داون في كثير من الأطر المختلفة، والمنصات واللغات.

[12][13]

وهناك الكثير من التطبيقات المفتوحة المصدر المتوفرة على شبكة الإنترنت.

توحيد المعايير

عدل

ليس هناك معايير محددة للماركداون بوضوح، عدا عن writeup الأصلي المنفذ من قبل جون غروبر. في أواخر عام 2012، بدأ جهد لتوحيد المعايير القياسية، كان السبب غالباً تدوينة من مدونة جيف أتوود.[18] يسعى مجتمع الإنترنت الآن إلى "وثيقة متنوعة من الأدوات والموارد المتاحة لمؤلفي المستندات والمطورين، فضلاً عن المنفذين لمختلف تطبيقات الماركداون ".[19] والآن تتوفر أداة تسمى "Babelmark2" [20]) لمقارنة خرج التطبيقات المختلفة«و» تشجيع المناقشة لتوضيح بعض الجوانب الغامضة من مواصفات المارك داون.[21]

انظر أيضا

عدل

مراجع

عدل
  1. ^ ا ب Markdown 1.0.1 readme source code "Daring Fireball - Markdown". 17-Dec-2004. مؤرشف من الأصل في 9 سبتمبر 2019. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (مساعدة)
  2. ^ Markdown Syntax "Daring Fireball - Markdown - Syntax". 13-Jun-2013. مؤرشف من الأصل في 9 سبتمبر 2019. {{استشهاد ويب}}: تحقق من التاريخ في: |تاريخ= (مساعدة)
  3. ^ Daring Fireball: Markdown: License نسخة محفوظة 07 يناير 2018 على موقع واي باك مشين.
  4. ^ "MarsEdit 2.3 ties the knot with Tumblr support - Ars Technica". مؤرشف من الأصل في 2011-09-10. اطلع عليه بتاريخ 2009-08-11.
  5. ^ "Review: Practical Django Projects - Ars Technica". مؤرشف من الأصل في 2011-06-07. اطلع عليه بتاريخ 2009-08-11.
  6. ^ ا ب "GitHub Flavored Markdown". github.com. مؤرشف من الأصل في 2019-02-05. اطلع عليه بتاريخ 2013-03-29.
  7. ^ "Reddit markdown primer. Or, how do you do all that fancy formatting in your comments, anyway?". reddit.com. مؤرشف من الأصل في 2019-06-11. اطلع عليه بتاريخ 2013-03-29.
  8. ^ "Markdown help". http://stackoverflow.com. مؤرشف من الأصل في 2019-09-10. اطلع عليه بتاريخ 2013-03-29. {{استشهاد ويب}}: روابط خارجية في |ناشر= (مساعدة)
  9. ^ "SourceForge: Markdown Syntax Guide". sourceforge.net. مؤرشف من الأصل في 2019-06-13. اطلع عليه بتاريخ 2013-05-10.
  10. ^ Doxygen Manual: Markdown support نسخة محفوظة 18 يوليو 2017 على موقع واي باك مشين.
  11. ^ rstudio/Markdown.cpp at master · rstudio/rstudio · GitHub نسخة محفوظة 26 يوليو 2017 على موقع واي باك مشين.
  12. ^ JetBrains Plugin Repository :: Markdown نسخة محفوظة 3 مايو 2015 على موقع واي باك مشين. "نسخة مؤرشفة". مؤرشف من الأصل في 2016-03-03. اطلع عليه بتاريخ 2013-09-13.
  13. ^ nicoulaj/idea-markdown · GitHub نسخة محفوظة 10 سبتمبر 2013 على موقع واي باك مشين.
  14. ^ Joe Esposito. "Grip -- Github Readme Instant Preview". GitHub-Flavored Markdown in the Python language. نسخة محفوظة 10 مايو 2018 على موقع واي باك مشين.
  15. ^ Jeff Tratner. "Vim-Flavored-Markdown": Github Flavored Markdown in the فيم سكريبتing language. نسخة محفوظة 03 أغسطس 2015 على موقع واي باك مشين.
  16. ^ Evan Solomon. "GitHub-Flavored Markdown Comments": Github Flavored Markdown in the PHP language as a WordPress plugin. نسخة محفوظة 07 مارس 2017 على موقع واي باك مشين.
  17. ^ Gabriel Llamas. "Node-GFM": GitHub flavored markdown in the JavaScript language. "نسخة مؤرشفة". مؤرشف من الأصل في 2016-06-14. اطلع عليه بتاريخ 2018-01-31.{{استشهاد ويب}}: صيانة الاستشهاد: BOT: original URL status unknown (link)
  18. ^ The Future of Markdown نسخة محفوظة 11 فبراير 2014 على موقع واي باك مشين.
  19. ^ Markdown Community Page نسخة محفوظة 21 مارس 2017 على موقع واي باك مشين.
  20. ^ Babelmark 2 - Compare markdown implementations نسخة محفوظة 18 يوليو 2017 على موقع واي باك مشين.
  21. ^ Babelmark 2 - FAQ نسخة محفوظة 28 يوليو 2017 على موقع واي باك مشين.

روابط خارجية

عدل