標準副檔名是 .md。比較長的 .markdown 意思相同,但少見得多。兩者標示的都是普通的純文字檔,沒有特殊編碼、沒有二進位檔頭,也沒有壓縮。
把 notes.txt 改名成 notes.md,它就已經是一份合法的 Markdown 檔。再改回去,裡面的內容也一個位元組都沒變。
GitHub、VS Code、Obsidian 和幾乎所有現代工具都認得這兩種副檔名,看到就會自動啟用 Markdown 渲染或語法上色。它註冊的 MIME 類型是 text/markdown,如果你要用網頁伺服器直接提供原始檔,就該送出這個類型。
重點速覽
| 標準副檔名 | .md |
|---|---|
| 其他會看到的 | .markdown、.mdown、.mkd、.mkdn |
| MIME 類型 | text/markdown |
| 檔案內容 | 純 UTF-8 文字,任何編輯器都讀得開 |
| 特殊檔名 | README.md 會被渲染成儲存庫首頁 |
副檔名做了什麼,又沒做什麼
- 就用
.md。它最短,而且每個編輯器都會把它對應到 Markdown 模式。 - 副檔名只是給軟體的提示,檔案內容一個位元組都不會被改動。
- 檔案裡沒有任何地方記錄你用的方言,這就是 GFM 表格換個地方會壞掉的原因。
.mdx、.rmd、.qmd看起來像親戚,其實是各有工具鏈的不同格式。
副檔名不會改變檔案裡的任何內容,它只是告訴軟體該怎麼對待這些內容。看到 .md,GitHub 會把檔案渲染成排版後的頁面而不是原始文字。VS Code 這類編輯器會開啟語法上色和預覽窗格。靜態網站產生器則知道建置時要把它轉成 HTML。
就這一個機制,解釋了幾件常令人意外的事。一個完全沒用到 Markdown 語法的 .md 檔仍然合法,因為單純的段落本來就是合法語法。滿是 Markdown 語法卻存成 .doc 的檔案也沒有壞,只是名字貼錯。檔案裡也沒有記錄方言,所以用了 GFM 表格的文件在 GitHub 上好好的,到嚴格的 CommonMark 渲染器裡卻只剩一堆直線符號。
你可能遇到的所有副檔名
偶爾還是會碰到比較舊或比較特殊的副檔名。完整情況如下。
| 副檔名 | 地位 | GitHub 會渲染 | 常見於 |
|---|---|---|---|
| .md | 標準 | 會 | 到處都是,就用這個 |
| .markdown | 長寫法 | 會 | 較舊的部落格與 Jekyll 網站 |
| .mdown | 舊寫法 | 會 | 比較舊的專案 |
| .mkd / .mkdn | 舊寫法 | 會 | 罕見,多半只剩歷史檔案 |
| .mdx | 不同格式 | 不會 | React 技術文件網站 |
| .rmd / .qmd | 不同格式 | 部分 | R Markdown 與 Quarto 報告 |
其中兩個其實不是 Markdown
- .mdx 是混入 JSX 元件的 Markdown。語法有重疊,但一般的渲染器會被那些元件標籤卡住。
- .rmd 和 .qmd 把 Markdown 和可執行的程式碼區塊混在一起,各自需要專屬工具鏈才能產生成品。
就用 .md 吧
除非特定工具另有要求,一律選 .md。它最短、辨識度最高,也是每個編輯器都會自動對應到 Markdown 模式的那一個。我們完整指南裡的所有範例也都以它為準。
README.md 為什麼是特別的檔名
有一個檔名帶有額外意義。GitHub、GitLab、Bitbucket 會把叫做 README.md 的檔案渲染成儲存庫或資料夾的首頁。就是這一個慣例,讓 Markdown 成為全世界預設的文件格式。每個專案的門面都是一個 Markdown 檔,數百萬名開發者根本沒下定決心要學,就把語法學會了。
my-project/
├── README.md 渲染成儲存庫首頁
├── CONTRIBUTING.md GitHub 介面會直接連到它
├── LICENSE.md 顯示在側邊欄
├── docs/
│ └── setup.md 一般的文件頁
└── src/
大寫、小寫與子資料夾
全大寫是慣例而非規定。小寫的 readme.md 渲染結果一模一樣,但大寫寫法普及到讓小寫在老手眼裡就是怪。另外,放進任何子資料夾的 README 也會被渲染在那個資料夾的頁面上,這是替目錄補說明的一種安靜作法。
裡面該放什麼
一個標題、一段簡短介紹、安裝步驟,再加一兩張表格,多數 README 就成形了。如果你常寫,GFM 指南涵蓋了 GitHub 疊在標準 Markdown 之上的表格、待辦清單、警示框與自動連結。
.md 檔裡面到底裝了什麼
用記事本或文字編輯程式打開,看到的就是自己寫的字,加上一些標點符號。沒有隱藏結構,也沒有軟體綁定。存成 UTF-8(現代編輯器的預設值),重音字母、繁體中文和表情符號都能完整保存。
純文字為什麼一直划算
- Git 會逐行比對 Markdown 檔,所以合併請求上能精準看到改了哪一句。
- 全文搜尋不必先開啟任何應用程式就能找到你的筆記。
- 十年前的備份現在照樣打得開,因為沒有任何一個程式擁有這個格式。
- 同一個檔案可以被渲染成網頁、PDF 或印出來的講義,中間不需要任何專有容器。
這種可攜性才是這個格式真正的理由,什麼是 Markdown 把這個論述講得更完整。想知道它和手寫標籤差在哪,請看 Markdown 與 HTML 的比較。
建立與開啟 .md 檔
- 在我們的編輯器寫好內容,點工具列的 .md,就會以正確的副檔名下載檔案。
- 或在任何文字編輯器用「另存新檔」自己輸入完整檔名,例如
meeting-notes.md。 - Windows 上請先把存檔類型選成「所有檔案」,否則記事本會偷偷補上
.txt。 - macOS 上請在文字編輯程式選「格式」再選「製作純文字」才存檔,否則會得到一個掛著 .md 名字的 RTF 檔。
錯誤 正確
notes.md.txt notes.md
(記事本自動補上 .txt) (存檔類型先選「所有檔案」,
再輸入完整檔名)
Windows 隱藏副檔名的陷阱
檔案總管預設隱藏已知副檔名。所以 notes.md.txt 只會顯示成 notes.md,這個雙重副檔名要等到某個工具拒絕渲染時才會被發現。在檢視索引標籤打開「副檔名」顯示,可以省下一小時的困惑。
開啟反而是簡單的方向
任何文字編輯器都能打開 .md,因為它就是文字。想看排版後的樣子,把內容貼進編輯器讀預覽窗格就好。更多說明在如何開啟 .md 檔,語法忘了就翻語法速查表。
相關問題
立即使用編輯器
開啟編輯器