Markdown



markdown

Markdown

ملاحظة: هذه الوثيقة نفسها مكتوبة باستخدام Markdown. يمكنك رؤية المصدر الخاص به عن طريق إضافة ".text" إلى عنوان URL .

نظرة عامة

فلسفة

تهدف أداة تخفيض السعر إلى أن تكون سهلة القراءة وسهلة الكتابة كما هو ممكن.

قراءة ، ومع ذلك ، يتم التأكيد فوق كل شيء آخر. يجب أن يكون المستند بتنسيق Markdown قابلاً للنشر كما هو ، كنص عادي ، دون أن يبدو كما لو تم ترميزه باستخدام علامات أو إرشادات التنسيق. بينما تأثرت صيغة Markdown في العديد من عوامل تصفية النصوص إلى HTML - بما في ذلك Setext و EtText و EtText و EtText و EtText و EtText - فإن أكبر مصدر لإلهام بناء جملة Markdown هو تنسيق البريد الإلكتروني العادي.

ولتحقيق هذه الغاية ، تتكون صيغة Markdown بالكامل من أحرف الترقيم ، والتي تم اختيار أحرف الترقيم بعناية بحيث تبدو كما تعني. على سبيل المثال ، تبدو العلامات النجمية حول كلمة في الواقع مثل * التوكيد *. تبدو قوائم تخفيض السعر مثل القوائم جيدة. حتى المقتطفات تبدو وكأنها مقتبسات مقتبسة من النص ، بافتراض أنك استخدمت البريد الإلكتروني من أي وقت مضى.

HTML مضمّن

يهدف بناء الجملة Markdown لغرض واحد: لاستخدامها كتنسيق للكتابة على شبكة الإنترنت.

لا يعتبر "تخفيض السعر" بديلاً لـ HTML ، أو حتى قريبًا منه. تركيبه صغير جدًا ، يتوافق فقط مع مجموعة فرعية صغيرة جدًا من علامات HTML. لا تكمن الفكرة في إنشاء بناء جملة يسهّل إدخال علامات HTML. في رأيي ، من السهل بالفعل إدراج علامات HTML. فكرة Markdown هي أن تجعل من السهل قراءة وكتابة وتحرير النثر. HTML عبارة عن تنسيق نشر . Markdown هو تنسيق الكتابة . وبالتالي ، لا يتناول بناء جملة تنسيق Markdown سوى المشكلات التي يمكن نقلها في نص عادي.

لأي ترميز غير مغطى ببناء Markdown ، يمكنك ببساطة استخدام HTML نفسه. ليست هناك حاجة لتهيئته أو تحديده للإشارة إلى أنك تنتقل من Markdown إلى HTML ؛ أنت فقط تستخدم العلامات.

القيود الوحيدة هي أن عناصر HTML على مستوى الكتلة - على سبيل المثال <div> ، <table> ، <pre> ، <p> ، إلخ - يجب فصلها عن المحتوى المحيط بواسطة خطوط فارغة ، وعلامات البداية والنهاية للكتلة لا ينبغي أن يكون مسافة بادئة مع علامات التبويب أو مسافات. يكون Markdown ذكيًا بدرجة كافية لعدم إضافة علامات <p> إضافية (غير محسوبة) حول علامات مستوى كتل HTML.

على سبيل المثال ، لإضافة جدول HTML لمقالة Markdown:

This is a regular paragraph.

<table>
    <tr>
        <td>Foo</td>
    </tr>
</table>

This is another regular paragraph.

لاحظ أن بناء جملة التنسيق Markdown لا يتم معالجتها داخل علامات HTML على مستوى الكتلة. على سبيل المثال ، لا يمكنك استخدام علامة *emphasis* نمط Markdown- داخل كتلة HTML.

يمكن استخدام علامات HTML على مستوى النطاق - على سبيل المثال <span> أو <cite> أو <del> - في أي مكان في فقرة Markdown أو عنصر القائمة أو رأس الصفحة. إذا أردت ، يمكنك حتى استخدام علامات HTML بدلاً من تنسيق Markdown ؛ على سبيل المثال ، إذا كنت تفضل استخدام علامات <a> أو <img> HTML بدلاً من ارتباط Markdown أو بنية الصورة ، فانتقل إلى الأمام مباشرةً.

على عكس علامات HTML على مستوى الكتلة ، تتم معالجة بناء الجملة Markdown ضمن علامات مستوى الامتداد.

الهرب التلقائي للحروف الخاصة

في HTML ، هناك حرفان يتطلبان معاملة خاصة: < و & . تستخدم قوسين الزاوية اليسرى لبدء العلامات ؛ يتم استخدام علامات العطف للدلالة على كيانات HTML. إذا كنت تريد استخدامها كأحرف حرفية ، فيجب عليك الهروب منها ككيانات ، على سبيل المثال &lt; و &amp; .

العطف على وجه الخصوص هي bedeviling للكتاب على شبكة الإنترنت. إذا كنت تريد الكتابة عن AT & T ، فستحتاج إلى كتابة " AT&amp;T ". تحتاج حتى إلى الفرار من علامات العطف داخل عناوين URL. وبالتالي ، إذا كنت تريد الارتباط بـ:

http://images.google.com/images?num=30&q=larry+bird

تحتاج إلى ترميز URL على النحو التالي:

http://images.google.com/images?num=30&amp;q=larry+bird

في سمة href tag المرساة. وغني عن القول ، من السهل نسيان هذا ، وربما يكون المصدر الأكثر شيوعًا لأخطاء التحقق من صحة HTML في مواقع الويب التي تم ترميزها بشكل جيد.

يتيح لك Markdown إمكانية استخدام هذه الأحرف بشكل طبيعي ، مع الاهتمام بجميع عمليات الهروب الضرورية لك. إذا كنت تستخدم علامة العطف كجزء من كيان HTML ، فلا تزال بدون تغيير ؛ وإلا سيتم ترجمته إلى &amp; .

لذلك ، إذا كنت تريد تضمين رمز حقوق الطبع والنشر في مقالتك ، فيمكنك كتابة:

&copy;

وسوف يترك Markdown وحده. لكن إذا كتبت:

AT&T

سوف يقوم Markdown بترجمته إلى:

AT&amp;T

وبالمثل ، لأن Markdown يدعم HTML المضمنة ، إذا كنت تستخدم أقواس زاوية كمحددات لعلامات HTML ، فسوف يعاملها Markdown على هذا النحو. لكن إذا كتبت:

4 < 5

سوف يقوم Markdown بترجمته إلى:

4 &lt; 5

ومع ذلك ، يتم دائمًا ترميز أقواس الزاوية وعلامات العطف تلقائيًا داخل شفرات التعليمة البرمجية وعلامات الكشط. هذا يجعل من السهل استخدام Markdown للكتابة عن كود HTML. (على عكس HTML الخام ، وهو صيغة رهيبة للكتابة حول بناء جملة HTML ، لأن كل واحد < و & في رمز المثال الخاص بك يجب أن يتم الإفلات منه.)

عناصر الكتلة

الفقرات وفواصل الأسطر

فقرة هي ببساطة سطر متتالي أو أكثر من النص ، مفصولة بواحد أو أكثر من الأسطر الفارغة. (السطر الفارغ هو أي سطر يشبه سطرًا فارغًا - الخط الذي لا يحتوي على أي شيء سوى الفراغات أو علامات الجدولة يعتبر فارغًا). لا يجب وضع مسافات بادئة للفقرات العادية بمسافات أو علامات تبويب.

إن مضمون قاعدة "واحد أو أكثر من الأسطر المتتالية من النص" هو أن Markdown يدعم فقرات النص "الملفوفة". يختلف هذا بشكل كبير عن معظم صيغ النص إلى HTML الأخرى (بما في ذلك خيار "تحويل فواصل الأسطر" في Movable Type) الذي يترجم كل حرف فاصل سطر في فقرة إلى علامة <br /> .

عندما ترغب في إدراج علامة توقف <br /> باستخدام Markdown ، تقوم بإنهاء سطر بمسافة أو أكثر ، ثم اكتب return.

نعم ، هذا يتطلب مجهودًا أكبر لإنشاء <br /> ، ولكن تبسيط "كل خط فاصل هو أن القاعدة" لن تعمل مع Markdown. تعمل Lists المقفلة على نمط البريد الإلكتروني Blockquotes متعددة Blockquotes على أفضل وجه - وتبدو أفضل - عند تهيئتها باستخدام فواصل صلبة.

يدعم Setext من الرؤوس ، Setext و Setext .

تكون رؤوس نمط Setext "مسطرة" باستخدام علامات متساوية (لعناوين المستوى الأول) وشرطات (للرؤوس في المستوى الثاني). فمثلا:

This is an H1
=============

This is an H2
-------------

أي عدد من التسطير = 's أو - سوف يعمل.

تستخدم رؤوس أنماط Atx أحرفًا من 1 إلى 6 في بداية السطر ، تقابل مستويات الرأس 1-6. فمثلا:

# This is an H1

## This is an H2

###### This is an H6

بشكل اختياري ، يمكنك "إغلاق" رؤوس الرسائل atx. هذا هو مستحضرات التجميل بحتة - يمكنك استخدام هذا إذا كنت تعتقد أنها تبدو أفضل. لا يحتاج تجزئة الإغلاق إلى مطابقة عدد التجزئات المستخدمة لفتح الرأس. (يحدد عدد تجزئة الفتح مستوى الرأس.):

# This is an H1 #

## This is an H2 ##

### This is an H3 ######

كتلة الاقتباس

يستخدم Markdown أحرف > نمط البريد الإلكتروني > للحجب. إذا كنت معتادًا على اقتباس نصوص في رسالة بريد إلكتروني ، فعندئذٍ تعرف كيفية إنشاء فهرسة اقتباس في Markdown. يبدو أفضل إذا قمت بتغليف النص ووضع علامة > قبل كل سطر:

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.

يتيح لك تخفيض السعر أن تكون كسولًا وتضع فقط > قبل السطر الأول لفقرة ملفوفة:

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.

يمكن أن تتداخل blockquotes (أي blockquote-in-a-blockquote) عن طريق إضافة مستويات إضافية من > :

> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.

يمكن أن تحتوي Blockquotes على عناصر Markdown أخرى ، بما في ذلك الرؤوس والقوائم ومجموعات التعليمات البرمجية:

> ## This is a header.
> 
> 1.   This is the first list item.
> 2.   This is the second list item.
> 
> Here's some example code:
> 
>     return shell_exec("echo $input | $markdown_script");

أي محرر نص لائق يجب أن يجعل من تسعير على غرار البريد الإلكتروني سهلا. على سبيل المثال ، باستخدام BBEdit ، يمكنك إجراء تحديد واختيار زيادة مستوى التسعير من قائمة النص.

قوائم

يدعم Markdown القوائم المرتبة (مرقمة) وغير المرتبة (نقطية).

تستخدم القوائم غير مرتبة علامات النجمة والإيجابيات والواصلات - قابلة للتبديل - كعلامات قائمة:

*   Red
*   Green
*   Blue

ما يعادل:

+   Red
+   Green
+   Blue

و:

-   Red
-   Green
-   Blue

تستخدم القوائم المرتبة الأرقام متبوعة بنقاط:

1.  Bird
2.  McHale
3.  Parish

من المهم ملاحظة أن الأرقام الفعلية التي تستخدمها لوضع علامة على القائمة ليس لها أي تأثير على ناتج HTML الذي ينتجه Markdown. إن علامة HTML Markdown التي تنتج من القائمة أعلاه هي:

<ol>
<li>Bird</li>
<li>McHale</li>
<li>Parish</li>
</ol>

إذا كتبت بدلاً من ذلك القائمة في Markdown مثل هذا:

1.  Bird
1.  McHale
1.  Parish

او حتى:

3. Bird
1. McHale
8. Parish

ستحصل على نفس ناتج HTML نفسه. النقطة هي ، إذا كنت ترغب في ذلك ، يمكنك استخدام الأرقام الترتيبية في قوائم تخفيض السعر المطلوبة ، بحيث تتطابق الأرقام في المصدر مع الأرقام في HTML المنشور. ولكن إذا كنت تريد أن تكون كسولًا ، فلن تضطر إلى ذلك.

إذا كنت تستخدم ترقيم القائمة البطيئة ، ومع ذلك ، يجب أن تبدأ القائمة بالرقم 1. في مرحلة ما في المستقبل ، قد يدعم Markdown بدء القوائم المرتبة على رقم عشوائي.

عادةً ما تبدأ محددات القوائم عند الهامش الأيسر ، ولكن قد يتم تحديد مسافة بادئة لها بما يصل إلى ثلاث مسافات. يجب أن تتبع علامات القائمة مسافة واحدة أو أكثر أو علامة تبويب.

لجعل القوائم تبدو رائعة ، يمكنك التفاف العناصر ذات المسافات البادئة المعلقة:

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    Suspendisse id sem consectetuer libero luctus adipiscing.

ولكن إذا كنت تريد أن تكون كسولًا ، فلن تضطر إلى:

*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
Suspendisse id sem consectetuer libero luctus adipiscing.

إذا كانت عناصر القائمة مفصولة بخطوط فارغة ، فسيقوم Markdown بسرد العناصر الموجودة في علامات <p> في مخرجات HTML. على سبيل المثال ، هذا الإدخال:

*   Bird
*   Magic

سوف تتحول إلى:

<ul>
<li>Bird</li>
<li>Magic</li>
</ul>

لكن هذا:

*   Bird

*   Magic

سوف تتحول إلى:

<ul>
<li><p>Bird</p></li>
<li><p>Magic</p></li>
</ul>

قد تتكون عناصر القائمة من فقرات متعددة. يجب وضع مسافة بادئة لكل فقرة لاحقة في عنصر قائمة إما من خلال 4 مسافات أو علامة تبويب واحدة:

1.  This is a list item with two paragraphs. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.

2.  Suspendisse id sem consectetuer libero luctus adipiscing.

يبدو الأمر جميلاً إذا قمت بوضع مسافة بادئة لكل سطر من الفقرات التالية ، ولكن هنا مرة أخرى ، سيتيح لك Markdown أن تكون كسولًا:

*   This is a list item with two paragraphs.

    This is the second paragraph in the list item. You're
only required to indent the first line. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit.

*   Another item in the same list.

لوضع علامة اقتباس داخل عنصر القائمة ، يلزم تحديد المسافات المحددة لـ blockquote > المسافات البادئة:

*   A list item with a blockquote:

    > This is a blockquote
    > inside a list item.

لوضع قالب تعليمة برمجية داخل عنصر قائمة ، يجب وضع مسافة بادئة لكتلة التعليمات البرمجية مرتين - 8 مسافات أو علامتي تبويب:

*   A list item with a code block:

        <code goes here>

تجدر الإشارة إلى أنه من الممكن إطلاق قائمة مرتبة عن طريق الصدفة ، من خلال كتابة شيء مثل هذا:

1986. What a great season.

بمعنى آخر ، تسلسل مسافة-فترة-فضاء في بداية السطر. لتجنب هذا ، يمكنك استخدام الشرطة المائلة للخلف - للهروب من الفترة:

1986\. What a great season.

كتل رمز

يتم استخدام كتل التعليمات البرمجية المهيأة مسبقًا للكتابة عن البرمجة أو التعليمات البرمجية المصدر للعلامات. بدلاً من تشكيل الفقرات العادية ، يتم تفسير سطور كتلة التعليمات البرمجية بشكل حرفي. يلف Markdown كتلة التعليمات البرمجية في العلامات <pre> و <code> .

لإنشاء كتلة تعليمات برمجية في Markdown ، قم بمحاذاة كل سطر في المربع بمقدار 4 مسافات على الأقل أو علامة تبويب واحدة. على سبيل المثال ، في ضوء هذه المدخلات:

This is a normal paragraph:

    This is a code block.

سوف يولد Markdown:

<p>This is a normal paragraph:</p>

<pre><code>This is a code block.
</code></pre>

تتم إزالة مستوى واحد من المسافة البادئة - 4 مسافات أو علامة تبويب واحدة - من كل سطر من كتلة التعليمات البرمجية. على سبيل المثال ، هذا:

Here is an example of AppleScript:

    tell application "Foo"
        beep
    end tell

سوف تتحول إلى:

<p>Here is an example of AppleScript:</p>

<pre><code>tell application "Foo"
    beep
end tell
</code></pre>

يستمر كتلة التعليمات البرمجية حتى تصل إلى خط غير مهمل (أو نهاية المقالة).

ضمن كتلة التعليمات البرمجية ، يتم تحويل علامات العطف ( & ) وأقواس زاوية ( < و > ) تلقائيًا إلى كيانات HTML. هذا يجعل من السهل جدًا تضمين كود مصدر HTML مثلاً باستخدام Markdown - فقط قم بلصقه وابعاده ، وسيتولى Markdown مشاحنات تشفير علامات العطف وأقواس زاوية. على سبيل المثال ، هذا:

    <div class="footer">
        &copy; 2004 Foo Corporation
    </div>

سوف تتحول إلى:

<pre><code>&lt;div class="footer"&gt;
    &amp;copy; 2004 Foo Corporation
&lt;/div&gt;
</code></pre>

لا يتم معالجة بناء جملة Markdown العادية داخل كتل التعليمات البرمجية. على سبيل المثال ، تعتبر العلامات النجمية مجرد علامات نجمية حرفية داخل كتلة الكود. هذا يعني أنه من السهل أيضًا استخدام Markdown للكتابة عن صيغة Markdown الخاصة.

القواعد الأفقية

يمكنك إنشاء علامة قاعدة أفقية ( <hr /> ) عن طريق وضع ثلاثة أو أكثر من الواصلات أو العلامات النجمية أو الشرطات السفلية على سطر من تلقاء نفسها. إذا كنت ترغب في ذلك ، يمكنك استخدام مسافات بين الواصلات أو العلامات النجمية. كل من السطور التالية ينتج قاعدة أفقية:

* * *

***

*****

- - -

---------------------------------------

عناصر سبان

يدعم Markdown نمطين من الروابط: مضمنة ومرجعية .

في كلا النمطين ، يتم تحديد نص الرابط بواسطة [أقواس مربعة].

لإنشاء رابط مضمَّن ، استخدم مجموعة من الأقواس المنتظمة فورًا بعد إغلاق قوس مربع النص. داخل الأقواس ، ضع عنوان URL الذي تريد أن يشير إليه الرابط ، إلى جانب عنوان اختياري للارتباط ، محاطًا بعلامات اقتباس. فمثلا:

This is [an example](http://example.com/ "Title") inline link.

[This link](http://example.net/) has no title attribute.

سوف ينتج:

<p>This is <a href="http://example.com/" title="Title">
an example</a> inline link.</p>

<p><a href="http://example.net/">This link</a> has no
title attribute.</p>

إذا كنت تشير إلى مورد محلي على الخادم نفسه ، فيمكنك استخدام المسارات ذات الصلة:

See my [About](/about/) page for details.   

تستخدم الروابط ذات النمط المرجعي مجموعة ثانية من الأقواس المربعة ، والتي تضع داخلها تصنيفًا من اختيارك لتحديد الرابط:

This is [an example][id] reference-style link.

يمكنك اختياريًا استخدام مسافة لفصل مجموعات الأقواس:

This is [an example] [id] reference-style link.

بعد ذلك ، في أي مكان في المستند ، يمكنك تحديد تصنيف الرابط الخاص بك مثل هذا ، على سطر من تلقاء نفسه:

[id]: http://example.com/  "Optional Title Here"

هذا هو:

  • الأقواس المربعة التي تحتوي على مُعرّف الارتباط (يتم وضع مسافة بادئة بشكل اختياري من الهامش الأيسر باستخدام ثلاث مسافات) ؛
  • متبوعًا بنقطتين.
  • متبوعًا بمسافة أو أكثر (أو علامات تبويب) ؛
  • متبوعًا بعنوان URL للرابط ؛
  • يتبعه بشكل اختياري سمة عنوان للرابط ، محاطًا بعلامات اقتباس مزدوجة أو مفردة ، أو محاط بأقواس.

تعريفات الارتباطات الثلاثة التالية مكافئة:

[foo]: http://example.com/  "Optional Title Here"
[foo]: http://example.com/  'Optional Title Here'
[foo]: http://example.com/  (Optional Title Here)

ملاحظة: يوجد خطأ معروف في Markdown.pl 1.0.1 الذي يمنع استخدام علامات الاقتباس المفردة لتحديد عناوين الارتباط.

قد يكون عنوان URL للرابط ، اختياريًا ، محاطًا بأقواس معقوفة:

[id]: <http://example.com/>  "Optional Title Here"

يمكنك وضع سمة العنوان في السطر التالي واستخدام مسافات أو علامات تبويب إضافية للحشو ، والتي تبدو بشكل أفضل مع عناوين URL الأطول:

[id]: http://example.com/longish/path/to/resource/here
    "Optional Title Here"

تُستخدم تعريفات الارتباط فقط لإنشاء الارتباطات أثناء معالجة Markdown ، ويتم تجريدها من المستند في مخرجات HTML.

قد تتكون أسماء تعريف الارتباط من حروف وأرقام ومسافات وعلامات ترقيم - ولكنها ليست حساسة لحالة الأحرف. على سبيل المثال هذين الرابطين:

[link text][a]
[link text][A]

ما يعادل.

يسمح لك اختصار اسم الارتباط الضمني بحذف اسم الارتباط ، وفي هذه الحالة يتم استخدام نص الارتباط نفسه كاسم. ما عليك سوى استخدام مجموعة فارغة من الأقواس المربعة - على سبيل المثال ، لربط كلمة "Google" بموقع الويب google.com ، يمكنك ببساطة كتابة:

[Google][]

ثم حدد الرابط:

[Google]: http://google.com/

نظرًا لأن أسماء الروابط قد تحتوي على مسافات ، يعمل هذا الاختصار مع كلمات متعددة في نص الرابط:

Visit [Daring Fireball][] for more information.

ثم حدد الرابط:

[Daring Fireball]: http://daringfireball.net/

يمكن وضع تعريفات الارتباط في أي مكان في مستند Markdown الخاص بك. أميل إلى وضعها مباشرة بعد كل فقرة يتم استخدامها فيها ، ولكن إذا أردت ، يمكنك وضعها في نهاية المستند ، مثل نوع الحواشي السفلية.

في ما يلي مثال على الروابط المرجعية في الإجراء:

I get 10 times more traffic from [Google] [1] than from
[Yahoo] [2] or [MSN] [3].

  [1]: http://google.com/        "Google"
  [2]: http://search.yahoo.com/  "Yahoo Search"
  [3]: http://search.msn.com/    "MSN Search"

باستخدام اختصار اسم الارتباط الضمني ، يمكنك بدلاً من ذلك كتابة:

I get 10 times more traffic from [Google][] than from
[Yahoo][] or [MSN][].

  [google]: http://google.com/        "Google"
  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
  [msn]:    http://search.msn.com/    "MSN Search"

كل من الأمثلة المذكورة أعلاه ستنتج ناتج HTML التالي:

<p>I get 10 times more traffic from <a href="http://google.com/"
title="Google">Google</a> than from
<a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>

للمقارنة ، إليك نفس الفقرة المكتوبة باستخدام نمط رابط مضمّن في Markdown:

I get 10 times more traffic from [Google](http://google.com/ "Google")
than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
[MSN](http://search.msn.com/ "MSN Search").

لا تعد الروابط ذات النمط المرجعي أسهل من الكتابة. النقطة هي أنه مع الروابط ذات النمط المرجعي ، يكون مصدر المستند الخاص بك أكثر قابلية للقراءة بشكل كبير. مقارنة الأمثلة المذكورة أعلاه: باستخدام الروابط ذات النمط المرجعي ، تكون الفقرة نفسها 81 حرفًا فقط ؛ مع ارتباطات مضمنة ، 176 حرفًا ؛ وبصفته HTML ، يحتوي على 234 حرفًا. في HTML الخام ، هناك المزيد من الترميز من النص.

باستخدام الروابط المرجعية لنمط Markdown ، فإن وثيقة المصدر تشبه إلى حد كبير الناتج النهائي ، كما تم تقديمه في المتصفح. من خلال السماح لك بنقل البيانات الوصفية المرتبطة بالعلامات خارج الفقرة ، يمكنك إضافة روابط دون مقاطعة التدفق السردي لنثرتك.

تشديد

يعامل Markdown العلامات النجمية ( * ) والشرطات السفلية ( _ ) كمؤشرات للتأكيد. سيتم لف النص المغلف بعلامة * أو _ بعلامة <em> HTML؛ سيتم لف ملف double * 's أو' s بعلامة <strong> HTML. على سبيل المثال ، هذه المدخلات:

*single asterisks*

_single underscores_

**double asterisks**

__double underscores__

سوف ينتج:

<em>single asterisks</em>

<em>single underscores</em>

<strong>double asterisks</strong>

<strong>double underscores</strong>

يمكنك استخدام أي أسلوب تفضله ؛ القيد الوحيد هو أنه يجب استخدام نفس الحرف لفتح وإغلاق فترة التركيز.

يمكن استخدام التوكيد في منتصف الكلمة:

un*frigging*believable

ولكن إذا كنت تحيط بـ * أو _ بمسافات ، فسيتم التعامل معها على أنها علامة نجمية حرفية أو شرطة سفلية.

لإنشاء علامة نجمية حرفية أو شرطة سفلية في موضع يمكن استخدامه بدلاً من ذلك كمحدد للتأكيد ، يمكنك استخدام الشرطة المائلة للخلف:

\*this text is surrounded by literal asterisks\*

الشفرة

للإشارة إلى نطاق الكود ، قم بلفه بعلامات اقتباس خلفية ( ` ). بخلاف كتلة تعليمات برمجية مهيأة مسبقًا ، يشير امتداد الكود إلى رمز داخل فقرة عادية. فمثلا:

Use the `printf()` function.

سوف ينتج:

<p>Use the <code>printf()</code> function.</p>

لتضمين حرف backtick حرفي داخل نطاق الكود ، يمكنك استخدام عدة نغمات خلفية كاختصاري الفتح والإغلاق:

``There is a literal backtick (`) here.``

والتي سوف تنتج هذا:

<p><code>There is a literal backtick (`) here.</code></p>

قد تتضمن محددات خلفية الصورة المحيطة بمدونة الكود مسافات - واحدة بعد الافتتاح ، واحدة قبل الإغلاق. يتيح لك هذا وضع أحرف backtick الحرفية في بداية أو نهاية فترة الرمز:

A single backtick in a code span: `` ` ``

A backtick-delimited string in a code span: `` `foo` ``

سوف ينتج:

<p>A single backtick in a code span: <code>`</code></p>

<p>A backtick-delimited string in a code span: <code>`foo`</code></p>

مع امتداد الكود ، يتم ترميز العدادات وأقواس الزوايا على هيئة كيانات HTML تلقائيًا ، مما يجعل من السهل تضمين علامات HTML على سبيل المثال. سيقوم Markdown بإدارة هذا:

Please don't use any `<blink>` tags.

إلى:

<p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>

يمكنك كتابة هذا:

`&#8212;` is the decimal-encoded equivalent of `&mdash;`.

لانتاج:

<p><code>&amp;#8212;</code> is the decimal-encoded
equivalent of <code>&amp;mdash;</code>.</p>

صور

من المسلم به أنه من الصعب وضع بنية "طبيعية" لوضع الصور في تنسيق مستند نصي عادي.

يستخدم Markdown صيغة للصورة التي تهدف إلى تشبيه بناء الجملة للروابط ، مما يسمح بنمطين: مضمنة ومرجعية .

تبدو صيغة الصورة المضمنة كالتالي:

![Alt text](/path/to/img.jpg)

![Alt text](/path/to/img.jpg "Optional title")

هذا هو:

  • علامة تعجب:! .
  • متبوعًا بمجموعة من الأقواس المربعة ، تحتوي على نص سمة alt للصورة ؛
  • متبوعًا بمجموعة من الأقواس ، تحتوي على عنوان URL أو مسار الصورة ، وسمة title اختيارية مضمنة في علامات اقتباس مزدوجة أو مفردة.

يبدو بناء الجملة على نمط المرجع على النحو التالي:

![Alt text][id]

حيث "id" هو اسم مرجع صورة محدد. يتم تعريف مراجع الصور باستخدام صيغة متطابقة لربط المراجع:

[id]: url/to/image  "Optional title attribute"

حتى كتابة هذه السطور ، ليس لدى Markdown أي صيغة لتحديد أبعاد الصورة. إذا كان ذلك مهمًا بالنسبة لك ، فيمكنك ببساطة استخدام علامات HTML <img> العادية.

متنوع

يدعم Markdown نمط اختصار لإنشاء روابط "تلقائية" لعناوين URL وعناوين البريد الإلكتروني: ببساطة قم بإحاطة عنوان URL أو عنوان البريد الإلكتروني بأقواس معقوفة. ما يعنيه هذا هو أنك إذا أردت إظهار النص الفعلي لعنوان URL أو عنوان بريد إلكتروني ، وأن يكون أيضًا رابطًا قابلاً للنقر عليه ، فيمكنك إجراء ذلك:

<http://example.com/>

سوف يقوم Markdown بتحويل هذا إلى:

<a href="http://example.com/">http://example.com/</a>

تعمل الروابط التلقائية لعناوين البريد الإلكتروني بشكل مشابه ، إلا أن Markdown سيقوم أيضًا بتنفيذ جزء من ترميز كيان عشري وشكلي عشري للمساعدة في إخفاء عنوانك من رسائل spambots. على سبيل المثال ، يقوم Markdown بتشغيل هذا:

<[email protected]>

في شيء من هذا القبيل:

<a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
&#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
&#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>

والتي سيتم عرضها في المتصفح على أنه رابط قابل للنقر على "[email protected]".

(هذا النوع من خدعة ترميز الكيانات سيخدع بالفعل العديد من ، إن لم يكن معظم ، حوصلة معالجة الحصاد ، لكنه بالتأكيد لن يخدعها كلها. إنه أفضل من لا شيء ، لكن ربما سيبدأ عنوان نشر بهذه الطريقة في النهاية في تلقيه بريد مؤذي.)

Backslash يهرب

يسمح لك Markdown باستخدام مرافقات الخط المائل للخلف لإنشاء أحرف حرفية قد يكون لها معنى خاص في صيغة تنسيق Markdown. على سبيل المثال ، إذا أردت محاصرة كلمة بكلمات حرفية (بدلاً من علامة <em> HTML) ، فيمكنك استخدام الخطوط المائلة العكسية قبل العلامات النجمية ، على النحو التالي:

\*literal asterisks\*

يوفر Markdown مراجعات ارتداد مائلة للأحرف التالية:

\   backslash
`   backtick
*   asterisk
_   underscore
{}  curly braces
[]  square brackets
()  parentheses
#   hash mark
+   plus sign
-   minus sign (hyphen)
.   dot
!   exclamation mark