10 秒鐘看懂 Markdown

重點摘要
  • Markdown 就是純文字加上幾個標點符號,由軟體把它們變成排版格式。
  • 2004 年由 John Gruber 發表,Aaron Swartz 參與設計;2014 年的 CommonMark 讓規格變得精確。
  • GitHub、Reddit、Discord、Notion、Obsidian、多數部落格和多數 AI 聊天工具都靠它。
  • 核心大約十來條規則,實際用一小時就能上手。

一句話說完的概念

Markdown 是一種輕量級標記語言。這個名字聽起來很專業,概念其實非常簡單。在純文字裡加上幾個標點符號,軟體就會把它們變成排版格式。行首的 # 變成標題。用 **兩個星號** 包住的文字變成粗體。以 - 開頭的幾行變成項目清單。真的,大部分就是這樣,其餘的都在語法總覽裡。

10 秒鐘範例

你輸入這段文字:

# 購物清單

**星期五**之前*一定*要買齊:

- 咖啡豆
- 燕麥奶
- 一本新筆記本

更多靈感請看[我們的網站](https://mdeditor.tw)。

任何支援 Markdown 的軟體都會把它顯示成一份正式文件。「購物清單」變成粗大的標題。「星期五」變粗體,「一定」變斜體。三個項目變成真正的項目清單,「我們的網站」則變成可以點擊的連結。

為什麼原始版本照樣好讀

這就是 Markdown 勝出的關鍵:沒有排版的版本依然完全可讀。就算是從沒聽過 Markdown 的人,看到那份購物清單也能一眼明白作者的意思。

對照一下原始 HTML,你的文字被埋在 <strong><ul><li> 標籤之間;或是文書軟體在背後儲存的那一堆格式碼。Markdown 讓你排版,卻不用把文字埋進機器碼裡。Markdown 與 HTML 的比較把兩者並排放給你看。

小提醒:別光看說明。把上面的範例貼進即時編輯器,隨手改一行看看。看著預覽跟著變化,比任何文字解釋都學得快。

插圖:頁面上簡單的標點符號逐漸變成排版整齊的文件

Markdown 是怎麼誕生的

簡短的時間軸

  • 2004 年 - 知名蘋果評論部落格 Daring Fireball 的作者 John Gruber 發表 Markdown,內容是一支小小的 Perl 腳本,外加一頁語法說明,那份說明到今天都還掛在網路上。
  • 共同設計者 - Aaron Swartz,程式設計師暨網路運動者,參與過 RSS 的制定,後來共同創辦 Reddit,和 Gruber 一起討論了設計。
  • 最初的目標 - 那份說明的開頭至今仍定義著整個計畫:讓文字「盡可能地易讀」。
  • 2014 年 - CommonMark 把鬆散的原始版本變成精確、可測試的規格,不同的解析器終於有了一致的輸出。
  • 之後至今 - GitHub、筆記軟體和網站產生器各自往上疊自己的擴充功能。今天的各種方言就是這樣來的。

Gruber 為什麼這樣設計

它的核心哲學謙遜得近乎激進。2004 年,想在網路上排版文字,要嘛手寫 HTML,要嘛跟笨重的所見即所得編輯器搏鬥。Gruber 注意到的事情很單純:人們其實早就替純文字發明了自己的排版慣例。

在電子郵件裡,大家用*星號*強調字詞、用破折號列清單、用 > 引述對方的話。Markdown 只是把大家早就在做的事情正式化。文件在轉換之前就已經自然好讀,而不是只有轉換之後才好看。

最初的版本刻意做得很少。沒有表格、沒有註腳、沒有律師般精確的規格書。這份克制留下了空間,讓社群接手把它推得更遠,而社群的表現十分驚人。一個部落客為了寫文章做的小工具,成了網際網路上最接近「通用寫作格式」的存在。完整 Markdown 教學指南就從那個起點接著往下講。

今天哪裡在用 Markdown?(幾乎無所不在)

一旦你認得 Markdown,就會發現它無所不在。

開發者會在哪裡遇到它

  • GitHub - 每一份 README、Issue、Pull Request 和 Wiki 都是 Markdown。數百萬開發者都是在這裡第一次學會它。
  • 文件系統 - Docusaurus、MkDocs 和多數現代文件平台都以 Markdown 為核心。工作上只要碰到技術文件,你就一定會寫到它。
  • 靜態網站產生器 - Hugo、Jekyll、Astro 用一整個資料夾的 Markdown 檔建出網站。寫一篇文章、推送上去,它就變成網頁。

大多數人最後寫的都是 GitHub 那一套方言,值得記住它的名字:GitHub 風格 Markdown,簡稱 GFM。

其他人會在哪裡遇到它

  • Reddit - 留言和貼文都支援 Markdown 排版。
  • Discord - 聊天訊息用它來做粗體、斜體、程式碼和防雷遮罩。
  • Slack - 支援部分且略微不標準的方言,單一星號代表粗體。知道這點,才不會被它的怪癖弄糊塗。
  • Notion 與 Obsidian - 現代筆記軟體的兩大巨頭。Obsidian 直接把筆記以純 .md 檔存在你自己的硬碟上;Notion 則在你打字時辨識 Markdown 語法,也支援匯入匯出。
  • AI 聊天工具 - ChatGPT、Claude、Gemini 的回答都用 Markdown 排版,你在提問裡寫 Markdown 它們也看得懂。學會它,如今真的能幫你跟機器溝通。

每個軟體都會把規則改一點。我們替主要的幾個寫了專篇,例如 Markdown 在 NotionMarkdown 在 Obsidian,其餘的則整理在平台總覽

這種廣度就是學它最實際的理由。一項小小的技能,學一次,就能用在程式碼平台、筆記軟體、團隊聊天室、部落格和 AI 助理上。

插圖:一份 Markdown 文件向外輻射連結到許多應用程式圖示、程式碼平台、筆記軟體與網站

技術上它是怎麼運作的

純文字進去,HTML 出來

流程非常短:純文字 → 解析器 → HTML。你用 Markdown 慣例寫下文字。一支稱為解析器(parser)的程式讀取它、辨識其中的模式 - 「這行以 # 開頭,是標題」 - 然後輸出 HTML,也就是瀏覽器用來顯示網頁的語言。

本站編輯器的即時預覽,就是解析器在你的瀏覽器裡對每一次按鍵即時執行的結果。

為什麼 .md 檔比軟體活得久

Markdown 文件通常以 .md 為副檔名儲存,偶爾是 .markdown。這裡有個常被低估的重點:.md 檔就是純文字檔。記事本、TextEdit、VS Code、vim、手機的備忘錄都打得開。任何能顯示文字的軟體都行,任何作業系統都行。

這種耐久性比聽起來重要。被鎖在專有格式裡的文件,往往跟著建立它們的軟體一起消亡。試過打開二十年前文書軟體舊檔的人,都懂那種感覺。

純文字是人類最耐久的數位格式。今天讀得了,五十年後照樣讀得了。用 Markdown 寫作代表零綁定。你的筆記、文章和文件屬於你自己,不屬於任何應用程式,換工具時複製貼上就能帶著走。

方言與標準:Markdown 不只一種

先誠實說明一件事。「Markdown」是一個方言家族,不是單一固定的語言。

你會遇到的四個名字

  • 原始 Markdown - Gruber 2004 年的 Perl 腳本。歷史地位重要,但規則鬆散,不同工具對邊界情況會有不同解讀。
  • CommonMark - 2014 年的社群標準化計畫,把 Markdown 變成一份精確、可測試的規格,讓所有符合規格的解析器輸出一致。多數現代工具都建立在它之上。
  • GFM(GitHub 風格 Markdown) - CommonMark 加上 GitHub 廣受歡迎的擴充:表格、待辦清單、刪除線、自動連結。這是大多數人實際在寫的方言。
  • MultiMarkdown 與 Pandoc - 偏學術與出版的方言,加入引用文獻、註腳,並能轉換成 PDF、Word、LaTeX。Pandoc 更是文件轉換界的瑞士刀。

如果只學一種方言,就學 GFM。我們的 GFM 完整指南把它新增了什麼、GitHub 又是怎麼渲染的都寫清楚了。

方言差異真的有影響嗎?

有時候有。一張用 GFM 寫的表格,在只懂原始 Markdown 的工具裡會顯示成一堆亂七八糟的直線符號。就是這種意外,讓人開始不信任整個格式。

不過原則其實令人安心。核心語法 - 標題、強調、清單、連結、圖片、程式碼 - 在任何地方表現都完全相同。方言的分歧只出現在延伸功能上。先把核心學好,之後要用擴充功能時,再確認目標平台支不支援。

注意:聊天軟體是最常見的陷阱。Discord 和 Slack 各自有一套簡化方言,在筆記軟體裡看起來正常的訊息,貼過去可能會冒出一堆多餘的星號。哪些語法能活著抵達,平台指南寫得很清楚。

你該學 Markdown 嗎?(八成該學)

誰最划得來

Markdown 誕生於程式設計師之間,但受惠的人遠不止於此:

  • 開發者 - README、Issue、程式碼審查留言和技術文件全是 Markdown,它幾乎是工作上的必備技能。
  • 寫作者與部落客 - 用純文字打草稿,到哪裡都能發佈。許多內容系統和所有靜態網站產生器都直接吃 Markdown,草稿搬來搬去也不會跑版。
  • 學生與研究者 - 快速、有結構的上課筆記,二十年後照樣打得開。標題清單一應俱全,上課途中也不必分心去按工具列。
  • 筆記與知識管理愛好者 - Obsidian、Notion 和整個個人知識管理圈都建立在 Markdown 之上。你的第二大腦值得一個帶得走的格式。

半小時的學習路徑

學習成本真的很低。核心語法大約十來條規則,多數人實際使用一小時內就能上手。我們建議的順序是:

  1. 先掃一遍快速參考表五分鐘看完所有常用元素。
  2. 免費線上編輯器裡練習。把範例打出來,看著即時預覽同步變化。當場看到結果,語法才記得牢。
  3. 完整教學深入。準備好之後,再學圖片、程式碼區塊、巢狀清單和進階細節。

整套課程就這樣。不用安裝、不用註冊、不用花錢。只需要一個瀏覽器分頁和半小時的好奇心。

插圖:不同身分的人 - 開發者、寫作者、學生 - 都用同一種簡單的純文字格式寫作

常見問題

Markdown 是程式語言嗎?

不是。Markdown 是標記語言 - 它描述文字該長什麼樣子,而不是給電腦執行的指令。沒有邏輯、沒有變數、沒有任何需要「執行」的東西。會排版電子郵件,就會寫 Markdown。

寫 Markdown 需要特殊軟體嗎?

不需要。任何純文字編輯器都行 - 記事本、TextEdit 都可以。附即時預覽的專用編輯器(例如我們的免費線上編輯器)只是讓學習更快,因為你打字的同時就能看到排版結果。

什麼是 .md 檔?要怎麼打開?

.md 檔是內容為 Markdown 的純文字檔。用任何文字編輯器都能開啟,用支援 Markdown 的軟體開啟則能看到排版後的樣子。GitHub、VS Code、Obsidian 和本站編輯器都能完整渲染 .md 檔。

學會 Markdown 要多久?

核心語法大約十分鐘就能看懂,練習一小時就能運用自如。先看語法速查表,再到編輯器裡實際寫點東西 - 真的就這麼簡單。

Markdown 和 HTML 有什麼差別?

HTML 是網頁的完整標記語言;Markdown 則是對人類友善的速記法,最終會轉換成 HTML。日常寫作需要的排版,Markdown 用少得多的打字量就能涵蓋九成五,剩下的部分還可以直接在 Markdown 裡內嵌 HTML 補足。詳見 Markdown 與 HTML 的比較

可以在電子郵件裡用 Markdown 嗎?

通常不能直接用。多數郵件軟體只送純文字或 HTML,本身沒有 Markdown 解析器,你打的星號和井字號會原封不動出現在收件匣裡。有些工具會在信件寄出前先把 Markdown 轉成 HTML 來補上這一段,例如電子報平台,以及少數郵件外掛和 Gmail 擴充功能。最可靠的做法是先用 Markdown 打草稿、轉換、再把結果貼上,我們的 Markdown 轉 HTML 工具一步就能完成。

Markdown 檔案可以設密碼嗎?

不行。.md 就是一個純文字檔,沒有任何加密機制,格式本身也沒有上鎖的能力。要保護就得往外一層做:放進加密的壓縮檔、存在加密的磁碟裡,或是交給儲存庫本身的權限控管。如果你擔心的是草稿在撰寫過程中外流,我們的免費線上編輯器所有內容都留在瀏覽器裡,不過最後存下來的檔案仍然是純文字。

延伸閱讀

立即使用編輯器

立即使用編輯器