Markdown 註解:5 種方法完全指南
在編寫 Markdown 文件時,你可能想留一些備註給自己或團隊成員,但又不想讓這些內容出現在最終顯示的結果中。很多開發者搜尋 "comment in markdown" 或 "markdown comment syntax" 時,會發現一個讓人困惑的事實:Markdown 本身沒有原生註解語法。
這是因為在 John Gruber 2004 年設計 Markdown 時,他的目標是創造一種「易讀易寫的純文字格式」,註解(comment)並不在這個設計目標內。
不過不用擔心,透過利用 HTML 和 Markdown 自身的語法特性,我們有幾種實用的變通方案。我在 GitHub、GitLab、VS Code 和 Typora 上逐一測試過這些方法,下面把實測結果和使用經驗分享給你。無論你是想了解 markdown comment block(區塊註解)、multiline comment(多行註解),還是想 comment out(註解掉)某段內容,這篇文章都能幫到你。
方法一:HTML 註解(最推薦,相容性最好)
Markdown 支援行內 HTML,所以可以直接使用 HTML 的註解語法:
這是一段正常顯示的文字。
<!-- 這是一條註解,不會在最終結果中顯示 -->
這段文字會正常顯示。實測結果: 在 GitHub、GitLab、VS Code 預覽、Typora、Hugo、Jekyll 上均完全不可見。註解內容在瀏覽器中透過「檢視原始碼」仍然能看到,但一般讀者不會注意到。
參考:Markdown Guide 和 Stack Overflow(140萬+ 瀏覽量)均推薦此方法。
HTML 註解支援多行
<!--
這是一段多行註解。
第一行備註。
第二行備註。
可以寫很多內容。
-->踩坑經驗
我在實際使用中遇到過一個問題:HTML 註解內不能包含 --。比如 <!-- 這是一段 -- 註解 --> 會導致解析錯誤。這在需要寫命令列參數(如 --verbose)的備註時容易中招。
解決方法:避免在註解中使用連續兩個短橫線,或者用單短橫線替代。
適用場景
- 在 README 中給協作者留備註
- 暫時隱藏某段內容但不想刪除
- 在部落格文章中標記待完善的部分
- 在 Git 提交資訊模板中新增填寫說明
方法二:引用式連結註解(comments in markdown 的另一種思路)
這個方法利用了 Markdown 引用式連結(reference-style links)的語法特性。當引用的連結標籤沒有被實際使用時,解析器會忽略它:
[//]: # "這是一條註解"
[//]: # (這也是一條註解)
[comment]: # "這同樣是註解"三種寫法效果一樣,選擇你喜歡的一種就行。
為什麼這能生效?
引用式連結的語法是 [label]: url "title"。當這個 label 沒有被文件中的任何 [label][link] 引用時,渲染器會跳過它。[//]: # 中的 // 確保不會與正常引用衝突,# 作為 URL。這個技巧最早在 Stack Overflow 上被討論,後來被廣泛採用。
實測踩坑
我在 VS Code 的 Markdown 預覽中發現,[comment]: # 有時會渲染為一個不可見的空行,導致段落間距變大。而 [//]: # 的表現更穩定。
另外,在巢狀清單中使用引用式註解時要格外小心。我實測在 GitHub 上,如果註解緊跟在清單項後面且縮排不對,註解內容可能會被顯示出來。
參考:這個方法在 Stack Overflow 高讚回答 中有詳細討論,在 Pandoc 文件 中也有提及。
優缺點
優點: 註解內容連 HTML 原始碼中也不會出現(在支援此方法的平臺上)。
缺點: 並非所有 Markdown 解析器都支援。在 GitHub、MacDown、Pandoc 上可用,但在某些平臺上可能會顯示出來。
方法三:三橫線註解(僅限 GitHub)
GitHub Flavored Markdown 支援一種特殊的註解語法:
<!--- 這是 GitHub 專用註解 --->這個寫法只在 GitHub 上有效。我實測在 GitLab、VS Code、Typora 上均無法正常運作——註解內容會被直接顯示出來。
如果你只在 GitHub 上使用 Markdown,可以考慮這種方式。但由於相容性太差,我個人不推薦在跨平臺場景中使用。
方法四:用程式碼區塊「註解」(適合 markdown comment out 場景)
如果你想把某段內容「註解掉」(comment out)而不是完全隱藏,可以用程式碼區塊把它標記出來:
```text
TODO: 這裡需要補充更多內容
FIXME: 這段邏輯需要修改
這不算真正的註解——內容會顯示出來,但至少能和正文區分開。適合用來標記待辦事項或團隊協作中的提醒。
## 方法五:折疊區域(適合放補充資訊)
在支援 HTML 擴充的平臺上,可以把內容折疊起來:
```markdown
<details>
<summary>點擊展開備註</summary>
這裡是備註內容,預設是折疊隱藏的。
</details>實測結果: 在 GitHub、GitLab 上完美支援。在 Typora 中也支援。VS Code 預覽中支援但樣式略有差異。
這個方法適合放一些參考資訊或補充說明,讀者需要時可以主動展開。
各方法相容性對比(實測驗證)
| 方法 | GitHub | GitLab | VS Code | Typora | Jekyll/Hugo | HTML原始碼可見 |
|---|---|---|---|---|---|---|
HTML 註解 <!-- --> | ✅ | ✅ | ✅ | ✅ | ✅ | 是 |
引用式連結 [//]: # | ✅ | ⚠️ 待驗證 | ⚠️ 可能產生空行 | ✅ | ⚠️ 待驗證 | 否 |
三橫線 <!--- ---> | ✅ | ❌ | ❌ | ❌ | ❌ | 是 |
| 程式碼區塊 | ✅ | ✅ | ✅ | ✅ | ✅ | 是(可見) |
折疊區域 <details> | ✅ | ✅ | ✅ | ✅ | ✅ | 是(可展開) |
說明:✅ = 實測完全支援 | ⚠️ = 部分支援或待驗證 | ❌ = 實測不支援。標註「待驗證」的項目建議你在自己的環境中測試確認。
實際使用場景
場景一:團隊協作留備註
## 專案簡介
本專案是一個 Markdown 編輯器。
<!-- @Alice: 這裡的描述需要根據最新版本更新 -->
<!-- 審核日期:2026-05-03 -->場景二:暫時隱藏內容
## 功能清單
<!-- 以下功能暫未上線,先隱藏 -->
### 即將推出
- 深色模式
- 多語言支援場景三:部落格文章 SEO 備註
---
title: "Markdown 註解指南"
---
<!-- SEO 備註:主關鍵字 "markdown comment",次關鍵字 "markdown 註解語法" -->
<!-- 內鏈候選:markdown 語法總覽、markdown 程式碼區塊 -->
# Markdown 註解指南場景四:Git 提交資訊模板
## 變更說明
<!-- 請簡要描述本次變更的目的 -->
## 影響範圍
<!-- 列出受影響的功能模組 -->場景五:文件模板說明
# 週報模板
## 本週完成
<!-- 在下方列出本週完成的主要工作 -->
## 下週計畫
<!-- 在下方列出下週計畫 -->行業動態:Markdown 註解正在走向專業化
值得注意的是,Markdown 註解不僅僅是「文件寫作者的變通技巧」,在專業開發領域也在獲得正式地位。
Java 23 的 JEP 467(Markdown Documentation Comments)是一個標誌性進展:從 Java 23 開始,開發者可以在 Javadoc 文件註解中使用 Markdown 語法,替代傳統的 HTML + @ 標籤寫法。這說明 Markdown 在專業開發中的地位在持續提升,「Markdown + 註解」這個組合正在被主流程式語言正式採用。
常見問題
Markdown 有原生的註解語法嗎?
沒有。根據 CommonMark 規範和 John Gruber 的原始定義,Markdown 標準中不包含 comment(註解)語法。所以當你搜尋 "markdown comment" 時,找到的都是變通方案。所有方法都是利用 HTML 或 Markdown 自身語法特性實現的。
哪種註解方法最安全?
HTML 註解 <!-- --> 是最安全的選擇。它在所有主流 Markdown 解析器中都能正常運作,行為一致。來自 Markdown Guide 和 Stack Overflow - Comments in Markdown 的社群共識也支援這個結論。如果你只記住一個 markdown comment syntax,就記住 <!-- -->。
註解會影響頁面載入速度嗎?
不會。註解內容非常短小,對效能沒有任何可感知的影響。
在 Jupyter Notebook 中怎麼寫註解?
Jupyter 的 Markdown 儲存格支援 HTML,直接使用 <!-- 註解內容 --> 即可。
在 VS Code 中如何快速插入註解?
安裝 "Markdown All in One" 擴充功能後,選取文字按 Ctrl+/(Mac 上 Cmd+/)可以快速切換註解。
總結
| 需求 | 推薦方法 |
|---|---|
| 通用註解(所有平臺) | HTML 註解 <!-- --> |
| 註解在 HTML 中也不可見 | 引用式連結 [//]: # |
| 僅在 GitHub 使用 | 三橫線 <!--- ---> |
| 標記待辦事項 | 程式碼區塊 |
| 可折疊的補充資訊 | <details> 折疊區域 |
記住一個原則:不確定用哪種時,選 HTML 註解 <!-- --> 就對了。 它是唯一在所有主流平臺上都可靠運作的方案。
參考來源:
- Markdown Guide - Hacks(Markdown 社群權威參考)
- Stack Overflow - Comments in Markdown(140萬+ 瀏覽量,26個回答)
- GitHub Gist - How to comment out stuff(GitHub 場景實測)
- OpenJDK JEP 467(Java 23 Markdown 文件註解)