Markdown 高亮標記

在寫讀書筆記或者程式碼審查意見的時候,經常需要把某段文字「畫重點」——就像用熒光筆在紙上劃一道。HTML 裡有現成的 <mark> 標籤,但在 Markdown 裡,高亮標記(highlight / mark)屬於擴展語法,不是所有平臺都支援。今天就把怎麼用、在哪能用、不支援怎麼辦,一次講清楚。

什麼是 Markdown 高亮標記

高亮標記就是在文字後面加一層背景色(通常是黃色),讓它看起來像是被熒光筆劃過一樣。效果類似這樣:

這段話裡有一個 ==重點內容== 被高亮了

渲染後,「重點內容」三個字會顯示黃色背景。在 HTML 裡,這對應 <mark> 元素,表示「因為相關性而被標記/高亮的文字」。

需要明確一點:高亮不是 Markdown 標準語法的一部分。原始的 Markdown 語法說明和 CommonMark 規範裡都沒有定義高亮語法,它是各擴展實現自己加的 。所以你會看到有的平臺支援、有的不支援,後面會詳細說。

雙等號語法 ==highlight==

基本寫法

最常見的高亮語法是用雙等號把文字包起來:

這個功能在 ==v2.0 版本== 中已經修復了

渲染效果是「v2.0 版本」顯示為黃色高亮背景。語法很簡單,跟 Markdown 加粗**Markdown 斜體* 是一個套路,只是換成了 ==

高亮中包含其他格式

高亮的文字裡可以同時用其他 Markdown 語法:

這個 API 已經 ==**廢棄**==,請使用新版本

這裡「廢棄」既是高亮又是加粗。渲染的時候會同時顯示黃色背景和粗體字。

也可以嵌套連結:

詳見 ==[官方文件](https://example.com)== 中的說明

多個高亮

一篇文章裡可以有多處高亮:

==第一點==:系統架構需要最佳化
==第二點==:資料庫查詢效率偏低
==第三點==:快取策略需要調整

連續多行高亮

每行獨立加 ==

==2024年Q1:完成架構重構==
==2024年Q2:上線新快取系統==
==2024年Q3:效能最佳化達標==

HTML mark 標籤:全平臺通用方案

說實話,==highlight== 語法雖然好用,但相容性是個大問題。如果目標平臺不支援雙等號語法,最靠譜的替代方案是直接用 HTML 的 <mark> 標籤:

這個功能在 <mark>v2.0 版本</mark> 中已經修復了

因為絕大多數 Markdown 解析器都會保留 HTML 標籤,所以這個寫法幾乎在所有平臺都能正常渲染 。缺點是寫起來比 == 麻煩一些,但至少能保證效果。

我之前在 Obsidian 裡用 ==highlight== 寫了一堆讀書筆記,高亮標註做得特別漂亮。後來想把其中一段貼到 GitHub issue 裡,結果推上去一看——== 原樣顯示,完全沒渲染。從那以後我養成了一個習慣:要跨平臺發布的內容,統一用 <mark> 標籤,只在 Obsidian 和 Typora 這類確定支援 == 的編輯器裡才用雙等號語法。

mark 標籤的語義

<mark> 不只是視覺效果,它有明確的語義——表示「因為相關性而被標記的文字」。典型的使用場景包括:

  • 搜尋結果中高亮匹配的關鍵字
  • 引用文中高亮原作者沒有強調的部分
  • 待辦清單中標記進度

如果你的高亮純粹是為了視覺強調,用 Markdown 加粗 可能更合適。<mark> 適合的是「這段文字在當前上下文中有特殊相關性」的場景 。

自訂高亮顏色

預設的黃色背景不一定能滿足所有需求。比如在深色主題下,黃色高亮可能太刺眼;或者你想用不同顏色區分不同類型的高亮。

用 CSS 改變顏色

<mark> 標籤支援 inline style:

<mark style="background-color: #ff6b6b;">紅色高亮</mark>
<mark style="background-color: #51cf66;">綠色高亮</mark>
<mark style="background-color: #339af0;">藍色高亮</mark>

這在大多數支援 HTML 的 Markdown 平臺上都能工作。但要注意,有些平臺(比如 GitHub)會過濾掉 inline style,這種情況下自訂顏色就沒轍了。

在 Typora 中自訂

Typora 支援透過 CSS 主題檔案修改高亮顏色。在主題 CSS 檔案中新增:

mark {
  background-color: #fff3bf;
  padding: 0.1em 0.2em;
  border-radius: 2px;
}

我之前在 Typora 裡用這個方法把高亮顏色改成了淡藍色,因為預設的黃色在我用的暗色主題下對比度太低,幾乎看不出來。改了之後在編輯和匯出 PDF 的時候效果都很好。

各平臺相容性對比

這是大家最關心的部分。我整理了主流平臺對兩種高亮方式的支援情況:

平臺==highlight==HTML <mark>備註
Obsidian原生支援雙等號語法
Typora原生支援,可自訂顏色
Pandoc需啟用 highlight 擴展
GitLabGLFM 原生支援
Jupyter Notebook透過擴展支援
GitHub不支援 ==,需用 <mark>
VS Code 預覽不支援 ==
CommonMark標準不包含高亮語法
Stack Overflow兩種都不支援
Notion使用自己的高亮語法

幾個關鍵點:

  • GitHub 是最常見的「不支援雙等號」平臺,在 GitHub 上寫 README、issue、PR 描述只能用 <mark>
  • Obsidian 和 Typora 是最友好的,雙等號語法和 HTML 標籤都支援
  • GitLab 原生支援,這點比 GitHub 強
  • Stack Overflow 完全不支援高亮,連 <mark> 都會被過濾掉

什麼時候用高亮 vs 加粗 vs 其他格式

高亮、加粗、Markdown 底線、Markdown 刪除線 都能起到「強調」的作用,但語義不同:

格式語法語義適用場景
高亮==text== / <mark>當前上下文相關讀書筆記、程式碼審查意見
加粗**text**重要性強調標題、關鍵字、警告
刪除線~~text~~不再準確/已完成廢棄內容、任務完成
底線<u>text</u>專有名詞、拼寫提示術語標註

簡單來說:想讓讀者「注意這段在當前語境下很重要」用高亮,想讓讀者「這個詞本身很重要」用加粗。

實際使用場景

讀書筆記

作者認為 ==技術債務就像金融債務==,短期借款可以加速開發,但如果不及時償還,利息會越滾越多,最終拖垮整個專案。

在讀書筆記裡用高亮標記原文關鍵句,配合自己的批註,複習的時候一眼就能看到重點。

會議紀要

## 專案進度同步

- 前端重構已完成 80%,預計 ==本週五== 上線測試環境
- 後端 API 變更需要 ==協調行動端團隊== 同步修改
- 資料庫遷移方案 ==已獲 DBA 審批==

用高亮標記待辦事項的截止日期和關鍵決策,掃一眼就知道重點。

Changelog / 更新日誌

## v3.2.0 更新內容

- ==新增:== 支援暗色主題切換
- ==修復:== 檔案上傳偶現 500 錯誤
- ==破壞性變更:== 移除了 `legacyMode` 配置項

用高亮標記變更類型,讓讀者快速定位自己關心的更新。

常見問題

GitHub 上怎麼高亮文字?

GitHub 不支援 ==highlight== 語法。替代方案是直接用 HTML:

這是 <mark>高亮文字</mark>

如果 GitHub 把 <mark> 也過濾了(極端情況),可以用加粗 **text** 或者用程式碼反引號 `text` 來模擬視覺區分。

高亮語法是 Markdown 標準的一部分嗎?

不是。高亮屬於擴展語法,不在 CommonMark 規範和原始 Markdown 語法說明中 。它是各解析器(Obsidian、Typora、Pandoc 等)自行實現的擴展功能。

==highlight== 和 有區別嗎?

渲染結果一樣,==text== 在支援的解析器中會被轉換為 <mark>text</mark>。區別只是語法糖——== 寫起來方便,但相容性差;<mark> 寫起來囉嗦,但幾乎全平臺通用。

Notion 裡能用 Markdown 高亮嗎?

Notion 有自己的高亮功能(/highlight 命令或者選中文字後設定背景色),但不支援 Markdown 的 ==highlight== 語法,也不支援 <mark> 標籤。需要用 Notion 自己的方式操作。


參考來源

: Markdown Guide — Extended Syntax: Stack Overflow — Text highlight in markdown: MDN Web Docs — HTML Mark Element: Obsidian 官方文件 — Formatting and syntax: GitLab Docs — GitLab Flavored Markdown (GLFM)