Markdown چیست؟
اگه تا حالا تو گیتهاب یه فایل README.md دیدی یا تو یه فروم متنی رو با ستارهها بولد کردی، با Markdown آشنا شدی. تو این مقاله یاد میگیری Markdown چیه، چرا به وجود اومد و چطور مینویسیش.
فهرست مطالب
- چرا Markdown به وجود اومد؟
- نحوهی نوشتن Markdown
- مقایسه: همون متن با HTML در برابر Markdown
- کجاها از Markdown استفاده میشه؟
- جمعبندی
Markdown یه زبان نشانهگذاری سبک (Lightweight Markup Language) هست که بهجای تگهای پیچیدهی HTML، با چند تا کاراکتر ساده مثل #، * و - میتونی متن رو قالببندی کنی.
چرا Markdown به وجود اومد؟
نوشتن با HTML خام برای متنهای ساده کار سختیه. مثلاً برای نوشتن یه تیتر باید بنویسی:
<h1>عنوان من</h1>
ولی تو Markdown فقط کافیه بنویسی:
# عنوان من
همین سادگی باعث شده Markdown تو خیلی جاها محبوب بشه: مستندات گیتهاب، وبلاگها، پیامرسانها (مثل دیسکورد و اسلک) و حتی نوشتن این مقاله!
نحوهی نوشتن Markdown
تیترها
برای تیتر از علامت # استفاده میکنی. تعداد # سطح تیتر رو مشخص میکنه:
# تیتر یک
## تیتر دو
### تیتر سه
پررنگ و کج (Bold و Italic)
**این متن پررنگه**
*این متن کج (ایتالیک) است*
لیستها
لیست بدون ترتیب:
- مورد اول
- مورد دوم
- مورد سوم
لیست با ترتیب:
1. قدم اول
2. قدم دوم
3. قدم سوم
لینک و تصویر
[متن لینک](https://example.com)

بلوک کد
برای نمایش کد از سه بکتیک استفاده میکنی:
```
console.log("سلام دنیا");
```
نقلقول (Blockquote)
برای نقلقول از علامت > در ابتدای خط استفاده میکنی:
> این یک نقلقول است.
> میتونه چند خط هم باشه.
نقلقولها معمولاً برای هشدار، نکته یا نقل کردن حرف کس دیگهای استفاده میشن — مثلاً تو مستندات نرمافزار برای نشون دادن یه نکتهی مهم.
خط افقی (Horizontal Rule)
برای جدا کردن بخشهای مختلف یه متن، میتونی یه خط افقی بکشی. برای این کار سهتا از این کاراکترها رو پشت سر هم بنویس:
---
یا
***
یا
___
هر سهتا یه نتیجه میدن؛ فقط باید حواست باشه قبل و بعدش یه خط خالی بذاری تا درست تشخیص داده بشه.
کاراکترهای فرار (Escape)
گاهی میخوای خود کاراکترهای خاص Markdown مثل * یا # رو بهعنوان متن عادی نشون بدی، نه بهعنوان دستور قالببندی. برای این کار قبلش یه بکاسلش \ میذاری:
\*این متن ایتالیک نمیشه\*
بدون بکاسلش، Markdown این متن رو ایتالیک نمایش میداد. کاراکترهایی که معمولاً نیاز به فرار دارن شامل * _ # \` [ ] ( ) هستن.
پاراگراف و شکستن خط (Line Breaks)
یکی از رایجترین اشتباههای تازهکارها همینه. اگه دو خط رو زیر هم بنویسی:
این خط اول است.
این خط دوم است.
تو خروجی این دو خط بههم میچسبن و یه پاراگراف میشن. برای اینکه واقعاً از هم جدا بشن، باید یه خط خالی بینشون بذاری:
این خط اول است.
این خط دوم است.
اگه فقط میخوای یه شکست خط داشته باشی (بدون فاصلهی پاراگراف)، انتهای خط اول دو تا space بذار.
کد درونخطی (Inline Code)
وقتی میخوای وسط یه جمله به یه دستور یا نام فایل اشاره کنی، از یه بکتیک دور اون کلمه استفاده میکنی:
از تابع `console.log()` برای چاپ خروجی استفاده کن.
این با بلوک کدی که قبلاً دیدی (سه بکتیک) فرق داره؛ این یکی برای اشارهی کوتاه وسط متنه، نه یه قطعه کد کامل.
لیست تودرتو (Nested List)
میتونی داخل یه لیست، یه لیست دیگه هم بذاری. کافیه زیرلیست رو با تورفتگی (indent، معمولاً ۲ یا ۴ فاصله) بنویسی:
- میوهها
- سیب
- موز
- سبزیجات
- هویج
- کاهو
همین قانون برای لیستهای شمارهدار هم برقراره.
ترکیب بولد و ایتالیک
اگه بخوای یه متن هم پررنگ باشه هم کج، سهتا ستاره (یا سهتا آندرلاین) دورش میذاری:
***این متن هم پررنگه هم کج***
یعنی همون ترکیب دوتا سینتکسی که قبلاً یاد گرفتی (** برای بولد و * برای ایتالیک) کنار هم.
مقایسه: همون متن با HTML در برابر Markdown
فرض کن میخوایم یه تیتر و یه لیست بنویسیم.
با HTML:
<h2>زبانهای برنامهنویسی</h2>
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
</ul>
با Markdown:
## زبانهای برنامهنویسی
- HTML
- CSS
- JavaScript
همونطور که میبینی، Markdown خیلی کوتاهتر و خواناتره — نه تگ بازکردن لازمه نه بستن.
کجاها از Markdown استفاده میشه؟
- گیتهاب و گیتلب: فایلهای
README.mdبرای توضیح پروژهها - وبلاگها و سایتهای آموزشی: خیلی از ابزارهایی مثل Jekyll از Markdown برای نوشتن مقاله استفاده میکنن
- پیامرسانها: دیسکورد، اسلک و برخی قسمتهای واتساپ از نسخهی سادهشدهی Markdown پشتیبانی میکنن
- مستندسازی نرمافزار: ابزارهایی مثل GitBook و Docusaurus بر پایهی Markdown کار میکنن
جمعبندی
Markdown یه راه ساده و سریع برای قالببندی متنه که یادگیریش چند دقیقه بیشتر طول نمیکشه ولی استفادهازش میتونه نوشتن محتوا رو خیلی سریعتر کنه. از این به بعد، مقالات این سایت هم با همین فرمت نوشته میشن.