ماركداون

من ويكيبيديا، الموسوعة الحرة
اذهب إلى: تصفح، ‏ ابحث
معلومات عن الملف
الاسم رموز التنسيق (بالإنجليزية: MarkDown)
النوع لغة ترميز
الأمتداد .md
المطور جون غروبر
موقع المطور http://daringfireball.net/projects/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 إلى :

 <h1> مستوى ترويس (عنونة) أول</h1>
 <h4> مستوى ترويس (عنونة) رابع</h4>

اختياريا ، الترويسات يمكن أن يتم إغلاقها (ختمها) بهاشات (#) ليس بالضرورة أن يطابق عددها عدد الهاشات الموجودة في بداية الترويسة , و فقط لأسباب تجميلية يمكن أن نكتب :

# مستوى الترويس-(عنونة) الأول #

#### مستوى الترويس-(عنونة) الرابع ####

## مستوى الترويس-(عنونة) الثاني ##

مستويا العنونة الأول و الثاني يمكن أن يستخدما قاعدة لغوية أخرى للتعبير عنهما :

مستوى الترويس-(عنونة) الأول 
===================
مستوى الترويس-(عنونة) الثاني
--------------------

الفقرات[عدل]

الفقرة: هي سطر واحد أو أكثر من النص يفصل بينها سطر فارغ أو أكثر.لا ينبغي أن تبدأ الفقرات العادية بمسافة بادئة أو بعلامات تبويب.

هذه فقرة. وهي مكونة من جملتين.
هذه فقرة أخرى. وتتكون من جملتين أيضاً.

يترجم المثال أعلاه إلى:

<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 أفقي علامة القاعدة.

المحررات[عدل]

بالرغم من أن ماركداون هي لغة ترميز تتعلق بالحد الأدنى من الموارد و سهلة القراءة و التحرير بواسطة محرر نصوص عادي إلا أنه يوجد محررات مصممة خصيصا تتيح معاينة الملفات مباشرة مع كافة التنسيقات ، يوجد عدد من هذه المحررات متوافرة لكل من المنصات الأكثر انتشارا . كما و يوجد إضافة تقوم بتلوين الكلمات المحجوزة من اللغة مدمجة مع كل من المحررات 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. 
  2. ^ Markdown Syntax "Daring Fireball - Markdown - Syntax". 13-Jun-2013. 
  3. ^ http://daringfireball.net/projects/markdown/license
  4. ^ "MarsEdit 2.3 ties the knot with Tumblr support - Ars Technica". اطلع عليه بتاريخ 2009-08-11. 
  5. ^ "Review: Practical Django Projects - Ars Technica". اطلع عليه بتاريخ 2009-08-11. 
  6. ^ أ ب "GitHub Flavored Markdown". github.com. اطلع عليه بتاريخ 29 March 2013. 
  7. ^ "Reddit markdown primer. Or, how do you do all that fancy formatting in your comments, anyway?". reddit.com. اطلع عليه بتاريخ 29 March 2013. 
  8. ^ "Markdown help". http://stackoverflow.com. اطلع عليه بتاريخ 29 March 2013. 
  9. ^ "SourceForge: Markdown Syntax Guide". sourceforge.net. اطلع عليه بتاريخ 2013-05-10. 
  10. ^ http://www.stack.nl/~dimitri/doxygen/manual/markdown.html
  11. ^ https://github.com/rstudio/rstudio/blob/master/src/cpp/core/markdown/Markdown.cpp
  12. ^ http://plugins.jetbrains.com/plugin?id=5970
  13. ^ https://github.com/nicoulaj/idea-markdown
  14. ^ Joe Esposito. "Grip -- Github Readme Instant Preview". GitHub-Flavored Markdown in the Python language.
  15. ^ Jeff Tratner. "Vim-Flavored-Markdown": Github Flavored Markdown in the Vim scripting language.
  16. ^ Evan Solomon. "GitHub-Flavored Markdown Comments": Github Flavored Markdown in the PHP language as a WordPress plugin.
  17. ^ Gabriel Llamas. "Node-GFM": GitHub flavored markdown in the JavaScript language.
  18. ^ http://www.codinghorror.com/blog/2012/10/the-future-of-markdown.html
  19. ^ http://markdown.github.io/
  20. ^ http://johnmacfarlane.net/babelmark2/
  21. ^ http://johnmacfarlane.net/babelmark2/faq.html

روابط خارجية[عدل]