純文字也能有排版?
第一次接觸 Markdown 是因為在 GitHub 上看到別人的專案說明寫得很漂亮——有標題、有粗體、有清單、有程式碼區塊、甚至有表格。然後我去看原始碼,發現它只是一個 .md 純文字檔案。
沒有用 Word,沒有用任何排版軟體,就靠一些 # 和 * 符號,就做出了好看的排版。
那一刻我覺得:這東西真聰明。
Markdown 到底是什麼?
Markdown 是一種輕量級的標記語言(markup language),用簡單的符號來表示文件格式。寫起來像純文字,但可以被轉換成 HTML 顯示出漂亮的排版。
它在 2004 年被 John Gruber 創造出來,設計理念是「就算不轉換成 HTML,純文字的原始碼本身也要好讀」。
現在 Markdown 幾乎無處不在:GitHub、Notion、HackMD、Reddit、Discord、Slack,一堆平台都支援。
基本語法速查
搭配預覽工具一邊寫一邊看效果,學起來最快。
標題
用 # 號開頭,幾個 # 就是幾級標題:
# 一級標題(最大)
## 二級標題
### 三級標題
#### 四級標題
通常一篇文章只用一個 # 一級標題,其他用 ## 和 ### 就夠了。四級以下很少用到。
粗體與斜體
**這是粗體**
*這是斜體*
***這是粗斜體***
~~這是刪除線~~
粗體用兩個星號包住,斜體用一個。我的習慣是用粗體來強調關鍵字,斜體在中文裡其實不太常用,因為中文斜體不太好看。
清單
- 無序清單第一項
- 第二項
- 子項目
- 另一個子項目
1. 有序清單第一項
2. 第二項
3. 第三項
無序清單用 -、* 或 + 開頭都可以,我習慣用 -。子項目前面加兩個空格。
連結與圖片
[顯示文字](https://example.com)

連結和圖片的語法很像,圖片只是前面多了一個 !。
引用
> 這是一段引用文字
> 可以跨多行
拿來引述別人的話或是標記重要的段落很方便。
程式碼
行內程式碼用反引號包住:`console.log("hello")`
程式碼區塊用三個反引號:
```javascript
function greet(name) {
console.log(`Hello, ${name}!`);
}
```
三個反引號後面可以加語言名稱,這樣會有語法高亮。
表格
| 欄位一 | 欄位二 | 欄位三 |
|--------|--------|--------|
| 資料 A | 資料 B | 資料 C |
| 資料 D | 資料 E | 資料 F |
表格的語法看起來稍微複雜,但寫幾次就習慣了。對齊那些 | 和 - 只是為了好看,不對齊其實也能正常顯示。
不用把表格的分隔線對得很整齊,Markdown 解析器不在意。但如果你看原始碼的頻率很高,對齊會讓原始碼更好讀。
分隔線
---
三個以上的連字符就是一條分隔線。用來分隔文章的不同段落。
哪些地方用得到 Markdown?
GitHub / GitLab
README、Issue、Pull Request、Wiki 全部都用 Markdown。如果你是工程師,不會 Markdown 基本上寸步難行。
技術文件
很多開源專案的文件都是用 Markdown 寫的,用 GitBook、Docusaurus、VitePress 等工具可以把 Markdown 檔案變成漂亮的文件網站。
筆記軟體
Notion、Obsidian、HackMD、Bear、Typora——越來越多筆記軟體支援 Markdown。學會一種語法,在所有這些工具裡都能用。
部落格
很多靜態網站產生器(Hugo、Gatsby、Next.js)支援用 Markdown 寫文章。你正在讀的這篇文章,原始格式就是 Markdown。
即時通訊
Discord 和 Slack 支援部分 Markdown 語法。在訊息裡用 **粗體** 或 `程式碼` 可以讓訊息更清楚。
為什麼不用 Word?
Markdown 跟 Word 不是互相取代的關係,它們適合不同的場景。
Markdown 的優勢:
- 純文字格式,檔案超小,什麼編輯器都能開
- 很適合跟 Git 版本控制搭配(Word 的 .docx 做 diff 很痛苦)
- 專注在內容而不是排版,寫起來不會一直被字型、字級分心
- 轉換成 HTML、PDF 都很方便
Word 的優勢:
- 複雜的排版(頁首頁尾、分欄、浮動圖文框)
- 追蹤修訂功能
- 非技術背景的人比較容易上手
- 商業環境的通用格式
簡單來說,技術文件、筆記、部落格用 Markdown;商業報告、正式公文用 Word。
如果你需要把 Markdown 轉成 Word 或 PDF,可以用 Pandoc 這個開源工具。它幾乎能把 Markdown 轉成任何格式。
進階語法
基本語法學會之後,還有一些進階功能:
核取方塊(Task List)
- [x] 已完成的項目
- [ ] 未完成的項目
GitHub Issue 裡特別常用。
腳註
這裡有一個腳註[^1]。
[^1]: 腳註的內容。
數學公式 部分平台支援 LaTeX 數學語法:
行內公式:$E = mc^2$
這些進階語法不是所有平台都支援,用之前先確認你的目標平台有沒有支援。
結語
Markdown 的學習曲線非常平緩,花五分鐘把基本語法看一遍,然後在預覽工具裡動手試幾次,就能上手了。它不會取代所有的文件工具,但在很多場景下,Markdown 是最簡單、最乾淨的寫作方式。學會之後你會發現自己到處都在用它。