5 分鐘學會 Markdown
你可能在不知情的情況下已經使用過 Markdown。在 Slack 訊息中輸入過 **粗體** 嗎?在 GitHub 上寫過 README 嗎?格式化過 Reddit 貼文嗎?那就是 Markdown。
Markdown 是一種使用簡單符號格式化純文字的輕量方式。你不必點擊工具列按鈕來設定粗體、斜體、標題和列表,而是輸入幾個字元來表示你想要的格式。它由 John Gruber 和 Aaron Swartz 於 2004 年創建,此後成為開發者、撰稿人和所有在網路上處理文字的人的預設格式化語言。
為什麼存在 Markdown
在 Markdown 出現之前,為網路格式化文字意味著撰寫 HTML。要讓一個詞語變粗體,你需要輸入 <strong>粗體</strong>。要建立列表,你需要 <ul><li>項目</li></ul>。HTML 功能強大,但冗長且難以以原始形式閱讀。
Markdown 通過提供人類可讀的簡寫來解決這個問題。即使在渲染之前,原始文字也很容易閱讀。格式化後的輸出整潔專業。你可以同時獲得兩全其美:可讀的原始文字和精緻的輸出。
你知道嗎? Markdown 的設計理念是,原始文字應該「可以直接發布為純文字,看起來不像是被標籤或格式指令標記過的」。這就是為什麼 Markdown 語法使用視覺上暗示其產生格式的字元。
基本語法
以下是你開始高效使用 Markdown 所需要知道的一切。
標題
使用井號(#)建立標題。更多井號意味著更小的標題。
# 標題 1(最大)
## 標題 2
### 標題 3
#### 標題 4
粗體和斜體
用星號或底線包住文字:
**粗體文字**
*斜體文字*
***粗體和斜體***
列表
無序列表使用破折號、星號或加號。有序列表使用數字。
- 第一項
- 第二項
- 第三項
1. 第一步
2. 第二步
3. 第三步
連結
文字放在方括號中,URL 放在圓括號中:
[點擊這裡](https://example.com)
圖片
與連結相似,但前面加上驚嘆號:

引用區塊
使用大於號:
> 這是一段引用。它會縮進並以不同方式呈現。
程式碼
反引號用於行內程式碼,三個反引號用於程式碼區塊:
使用 `print()` 函式輸出文字。
對於多行程式碼區塊,使用三個反引號加上可選的語言識別符:
```python
def hello():
print("Hello, world!")
```
水平線
三個或更多破折號、星號或底線:
---
表格
使用直線和破折號:
| 姓名 | 職位 | 地點 |
| --- | --- | --- |
| Alice | 開發者 | 柏林 |
| Bob | 設計師 | 倫敦 |
Markdown 的使用場景
Markdown 無處不在:
軟體開發
- GitHub、GitLab、Bitbucket: README、問題、拉取請求和文件都用 Markdown 撰寫。
- Stack Overflow: 問題和回答使用 Markdown 格式化。
- 程式碼文件: 許多文件生成器(Docusaurus、MkDocs、Jekyll)使用 Markdown 作為來源格式。
通訊
- Slack: 支援 Markdown 子集用於訊息格式化。
- Discord: 使用 Markdown 處理粗體、斜體、程式碼區塊等。
- Reddit: 貼文和評論使用 Markdown 格式化。
寫作和出版
- 部落格: 許多靜態網站生成器使用 Markdown 檔案作為內容來源。
- 書籍: 幾個出版工具接受 Markdown 手稿。
- 筆記: Obsidian、Notion、Bear 和 Typora 等應用程式都是圍繞 Markdown 建立的。
文件
- 技術文件: API 文件、用戶指南和 Wiki 通常使用 Markdown。
- 內部知識庫: 許多團隊使用基於 Markdown 的 Wiki。
提示 你現在就可以在瀏覽器中免費預覽和練習 Markdown:使用 Markdown 寫作。在你輸入時即時看到格式化輸出。
Markdown 方言
需要知道的一點:Markdown 有不同的「方言」。核心語法在各處都相同,但某些平台添加了擴展:
| 方言 | 額外功能 | 使用者 |
|---|---|---|
| CommonMark | 嚴格規範 | 通用標準 |
| GitHub Flavored Markdown(GFM) | 任務列表、表格、刪除線、自動連結 | GitHub |
| MultiMarkdown | 腳注、引用、後設資料 | 學術寫作 |
| R Markdown | 嵌入 R 程式碼、資料分析 | 資料科學 |
差異主要在於進階功能。基礎(標題、粗體、斜體、列表、連結、圖片、程式碼)在各處都相同。
常見錯誤
忘記空行
Markdown 在許多元素前後需要空行。標題前需要空行。列表前後需要空行。忘記這些空行是渲染問題最常見的原因。
不一致的列表標記
在同一列表中混合使用 -、* 和 + 可能導致意外的渲染。選擇一種並堅持使用。
符號後的空格
某些 Markdown 處理器在標題的 # 後和列表的 - 後需要一個空格。為了安全起見,始終包含這個空格。
# 正確的標題
#錯誤的標題
- 正確的列表項目
-錯誤的列表項目
警告 Markdown 不支援所有格式化需求。如果你需要複雜版面、彩色文字、精確排版或可列印文件,你可能需要 HTML、LaTeX 或文字處理器。Markdown 最適合結構化的、以文字為焦點的內容。
為什麼值得學習 Markdown
Markdown 需要五分鐘學習,卻能節省數小時的時間。一旦掌握,你可以:
- 撰寫在 GitHub 上精美渲染的文件
- 在 Slack 和 Discord 中格式化訊息而不需觸碰滑鼠
- 做出可在不同應用程式間攜帶的結構化筆記
- 從純文字檔案建立部落格文章和網路內容
- 在文字型文件上協作,沒有格式相容性問題
在整個技術領域中,投資回報率是最高的之一。
立即開始用 Markdown 寫作:
免費,在你的瀏覽器中,即時預覽。