رموز التنسيق ماركداون: هي لغة ترميز بسيطة، أنشأها جون غروبر و ساهم فيها آرون سوارتز، تسمح بكتابة محتوى نصي بسيط يتميز بسهولة الكتابة والقراءة، ثم تحويله إلى لغة HTML أو XHTML. [1] وهي تأخذ العديد من التعليمات من الأعراف الحالية التي تستخدم لترميز نص عادي في البريد الالكتروني. النص المنسق بواسطة تلك الرموز ينبغي أن يكون قابلاً للقراءة كما هو، من دون النظر إلى التوصيفات وعلامات التنسيق (tags)، [2] على عكس النص المنسق بلغة توصيف أخرى مثل HTML، التي لديها تنسيقات واضحة وتعليمات تنسيق معينة. ماركداون تقوم ببناء جملة منسقة مقروءة وأيضاً يمكن تحويلها إلى HTML بسهولة.
امتداد الملف |
.md |
---|---|
صيغة وسائط الإنترنت | |
المطور | |
أول إصدار |
19 مارس 2004 |
موقع الويب |
الماركداون هو مخطوطة بيرل كتبها غروبر (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
تطبيقها
تطبق المارك داون في كثير من الأطر المختلفة، والمنصات واللغات.
- مولد التوثيق المصدري دي أكسجين يدعم المارك داون مع ميزات اضافية.[10] * *آرستدويو(Rstdio) هي بيئة تطوير متكاملة من R يوفر ميزة تغليف التوابع بالسي++ لتنفيذ الماركدوان ببرمجيات سنداون.[11]
- إنتيليج إيديا، هي بيئة تطوير متكاملة للجافا، وتدعم الماركداون كبرنامج مساعد.
- ملتيماركداون صيغة وبرنامج يمتلك مميزات أكثر في قواعد اللغة وخيارات التصدير من المارك داون التقليدية
- "الغيتهاب يفضل المارك داون "(GFM) ولها العديد من التطبيقات.[14][15][16][17] ويضيف GFM تعليم الصيغة و قائمة المهام إلى الماركدوان القياسية.[6]
وهناك الكثير من التطبيقات المفتوحة المصدر المتوفرة على شبكة الانترنت.
توحيد المعايير
ليس هناك معايير محددة للماركداون بوضوح، عدا عن writeup الأصلي المنفذ من قبل جون غروبر. في أواخر عام 2012، بدأ جهد لتوحيد المعايير القياسية، كان السبب غالباً تدوينة من مدونة جيف أتوود.[18] يسعى مجتمع الانترنت الآن إلى "وثيقة متنوعة من الأدوات والموارد المتاحة لمؤلفي المستندات والمطورين، فضلاً عن المنفذين لمختلف تطبيقات الماركداون ".[19] والآن تتوفر أداة تسمى "Babelmark2" [20]) لمقارنة خرج التطبيقات المختلفة" و "تشجيع المناقشة لتوضيح بعض الجوانب الغامضة من مواصفات المارك داون.[21]
مقالات ذات صلة
مراجع
- Markdown 1.0.1 readme source code "Daring Fireball - Markdown". 17-Dec-2004. مؤرشف من الأصل في 9 سبتمبر 2019.
- Markdown Syntax "Daring Fireball - Markdown - Syntax". 13-Jun-2013. مؤرشف من الأصل في 9 سبتمبر 2019.
- Daring Fireball: Markdown: License - تصفح: نسخة محفوظة 07 يناير 2018 على موقع واي باك مشين.
- "MarsEdit 2.3 ties the knot with Tumblr support - Ars Technica". مؤرشف من الأصل في 10 سبتمبر 201111 أغسطس 2009.
- "Review: Practical Django Projects - Ars Technica". مؤرشف من الأصل في 7 يونيو 201111 أغسطس 2009.
- "GitHub Flavored Markdown". github.com. مؤرشف من الأصل في 5 فبراير 201929 مارس 2013.
- "Reddit markdown primer. Or, how do you do all that fancy formatting in your comments, anyway?". reddit.com. مؤرشف من الأصل في 11 يونيو 201929 مارس 2013.
- "Markdown help". http://stackoverflow.com. مؤرشف من الأصل في 10 سبتمبر 201929 مارس 2013.
- "SourceForge: Markdown Syntax Guide". sourceforge.net. مؤرشف من الأصل في 13 يونيو 201910 مايو 2013.
- Doxygen Manual: Markdown support - تصفح: نسخة محفوظة 18 يوليو 2017 على موقع واي باك مشين.
- rstudio/Markdown.cpp at master · rstudio/rstudio · GitHub - تصفح: نسخة محفوظة 26 يوليو 2017 على موقع واي باك مشين.
- JetBrains Plugin Repository :: Markdown - تصفح: نسخة محفوظة 03 مارس 2016 على موقع واي باك مشين.
- nicoulaj/idea-markdown · GitHub - تصفح: نسخة محفوظة 10 سبتمبر 2013 على موقع واي باك مشين.
- Joe Esposito. "Grip -- Github Readme Instant Preview". GitHub-Flavored Markdown in the Python language. نسخة محفوظة 10 مايو 2018 على موقع واي باك مشين.
- Jeff Tratner. "Vim-Flavored-Markdown": Github Flavored Markdown in the فيم سكريبتing language. نسخة محفوظة 03 أغسطس 2015 على موقع واي باك مشين.
- Evan Solomon. "GitHub-Flavored Markdown Comments": Github Flavored Markdown in the PHP language as a WordPress plugin. نسخة محفوظة 07 مارس 2017 على موقع واي باك مشين.
- Gabriel Llamas. "Node-GFM": GitHub flavored markdown in the JavaScript language. نسخة محفوظة 14 يونيو 2016 على موقع واي باك مشين.
- The Future of Markdown - تصفح: نسخة محفوظة 11 فبراير 2014 على موقع واي باك مشين.
- Markdown Community Page - تصفح: نسخة محفوظة 21 مارس 2017 على موقع واي باك مشين.
- Babelmark 2 - Compare markdown implementations - تصفح: نسخة محفوظة 18 يوليو 2017 على موقع واي باك مشين.
- Babelmark 2 - FAQ - تصفح: نسخة محفوظة 28 يوليو 2017 على موقع واي باك مشين.