Markdown指南

什麼是Markdown?

Markdown是一種輕量級標記語言,您可以用它為純文字文件添加格式元素。它允許您使用簡單、易讀的語法建立格式化文字,可以轉換為HTML和其他格式。

將Markdown視為一種無需複雜文字處理器即可編寫格式化文件的方式。您只需在純文字中添加特殊字元來指示格式,如粗體、斜體或程式碼。

為什麼使用Markdown?

Markdown非常簡單且易於學習。您可以在短短10分鐘內掌握基礎知識。格式符號直觀 - 星號表示強調,井字號表示標題。您只需輸入並添加簡單符號來格式化文字。

Markdown在任何平台和任何文字編輯器上都能工作。由於檔案是純文字,即使在幾十年後也始終可讀。檔案輕量且載入迅速。

Markdown在各個平台都有廣泛支援。GitHub、Reddit、Discord和Slack都使用Markdown。Obsidian、Notion和VS Code等熱門應用程式原生支援它。這使其成為文件、筆記和Web內容的完美選擇。

Markdown與Git等版本控制系統完美配合。您可以專注於內容而不受格式干擾。團隊協作更容易,因為每個人都可以在沒有特殊軟體的情況下編輯檔案。

Markdown開發歷史

起源:原版Markdown(2004年)

Markdown最初由John Gruber在2004年建立,Aaron Swartz做出了重要貢獻。Gruber將其設計為一種使用易讀易寫的純文字格式編寫的簡單方式,可以轉換為結構有效的HTML。這是John Gruber最初設計和實作的「核心」,包含最基本的格式語法 - 我們稱之為「基本原版風味」。

基本語法(原版Markdown包含):

  • •
    標題:使用#符號(# 標題)
  • •
    強調:
  • •
    斜體:使用*或_包圍文字(*斜體*或_斜體_)
  • •
    粗體:使用**或__包圍文字(**粗體**或__粗體__)
  • •
    清單:
  • •
    無序清單:使用*、-或+(- 項目)
  • •
    有序清單:使用數字和句點(1. 項目)
  • •
    連結:使用[連結文字](連結位址)
  • •
    圖片:使用![圖片描述](圖片位址)
  • •
    程式碼區塊:用空格縮排(通常4個空格或1個Tab)
  • •
    引用:使用>符號(> 這是引用)
  • •
    水平線:使用---或***

問題:不一致的實作

然而,原版Markdown缺乏嚴格的正式規範。這導致不同Markdown解析器在處理邊緣情況時行為不一致。

空白處理:例如,在清單項目中,多少個空格的縮排算作子清單?是2個空格、3個空格還是4個空格?不同的解析器可能有不同的判斷。

換行處理:在某些情況下,常規換行(\n)應該被解析為<br>(換行)標籤,還是應該簡單地作為文字中的空格處理?這也可能因解析器而異。

HTML混合使用:Markdown允許嵌入HTML。然而,在一些複雜的HTML結構中,Markdown解析器如何處理其中的Markdown語法也存在模糊區域。

解決方案:CommonMark(2014年)

2014年9月,引入了CommonMark來解決這些不一致問題。由John MacFarlane領導,它為Markdown提供了嚴格的規範。

CommonMark提供了精確的規範,其中每個邊緣情況都有明確定義。它包括一個包含600多個測試案例的綜合測試套件,以確保實作之間的一致性。該規範提供了一個參考實作,作為其他解析器遵循的標準。它保持與大多數現有Markdown文件的向後相容性,同時確保明確的解析,相同的輸入在所有相容解析器中始終產生相同的輸出。

擴充風味和附加功能

隨著使用者有不同的需求,出現了各種擴充的Markdown風味來滿足特定要求。

GitHub風味Markdown(GFM)附加語法:

  • •
    表格:使用管線語法建立表格
  | 標題1 | 標題2 | 標題3 |
|-------|-------|-------|
| 儲存格1 | 儲存格2 | 儲存格3 |
| 儲存格4 | 儲存格5 | 儲存格6 |
  • •
    刪除線:使用~~包圍文字(~~刪除的文字~~)
  • •
    任務清單:建立互動式核取方塊
  - [x] 已完成任務
- [ ] 未完成任務
  • •
    圍欄程式碼區塊:使用帶語言規範的三重反引號
  ```javascript
function hello() {
console.log("Hello World!");
}
```
  • •
    自動連結:URL和電子郵件地址自動變為可點擊
其他熱門擴充:

  • •
    腳註:學術寫作使用[^1]語法
  這是帶腳註的句子[^1]。
[^1]: 這是腳註內容。

結果:這是帶腳註的句子¹。

  • •
    數學表達式:科學文件使用$E=mc^2$
  • •
    表情符號快捷鍵:使用:smile:變成😊
  • •
    定義清單:用於詞彙表和技術文件
  術語1
: 術語1的定義

術語2
: 術語2的定義
: 術語2的另一個定義

結果:建立帶有突出顯示術語和縮排定義的格式化清單

如何運作?

Markdown遵循簡單的三步工作流程:

步驟1:建立Markdown檔案

首先,使用任何文字編輯器建立帶有.md或.markdown副檔名的純文字檔案。使用簡單的格式符號編寫內容:

步驟2:使用Markdown工具處理

您的.md檔案然後由Markdown轉換工具或處理器處理。這些工具讀取您的Markdown檔案並將其轉換為所需的輸出格式。

步驟3:輸出到各種格式

Markdown處理器可以將您的檔案轉換為多種格式:

Web顯示:

  • •
    轉換為HTML用於網站、部落格和Web應用程式
  • •
    在瀏覽器中顯示具有適當樣式的格式化內容
文件:

  • •
    轉換為PDF用於可列印文件和報告
  • •
    產生Word文件(.docx)用於辦公用途
  • •
    建立LaTeX用於學術論文和出版品
發布:

  • •
    產生電子書(EPUB格式)
  • •
    建立簡報投影片
  • •
    製作文件網站
這個工作流程意味著您在Markdown中寫一次,然後使用不同的工具將內容轉換為您需要的任何格式 - 無論是在網站上顯示、列印為PDF還是作為文件分享。

邊學邊練

使用我們的 Markdown轉PDF轉換器 練習Markdown語法 - 編寫、預覽並即時查看結果。

附加資源

基本文件