Markdown 語法
Markdown 的語法的權威介紹是 Daring Fireball 的 Markdown Syntax Documentation,不過有一些 Markdown 的實現對原本的 Markdown 語法作了擴展。本頁面僅作為簡單的參考,并不是對這個文檔的翻譯,因此懂英文的都應該去讀 Markdown Syntax Documentation.
最常用格式
- 空一行(兩個回車)分段
- 行末加兩個或多個空格才是真正的換行,否則正常的一個回車就像在 HTML 代碼中一樣,被當作空格處理
- 插入鏈接:[鏈接文字](url)
- 圖片跟鏈接很像,在前面加個嘆號:
段落和換行有什么區別?段落在生成的 HTML 代碼中被一對<p></p>標簽包含起來,而換行只是插入了一個<br />標簽。一般來說,網頁設計給段落之間留的空白應該比行距大。
其它格式
下面會遇到一些語法需要在許多行前插入統一的縮進或特殊符號的,因此你需要一個非常舒服的支持列編輯模式的文本編輯器。
內嵌 HTML
由于內嵌 HTML 可以做 HTML 能做的任何事情,因此在用戶可以自由輸入的地方,需要禁用此功能,比如本站點的評論框。
- block level elements 像 p, div 之類的,需要前后各空一行(兩個回車),并且開始和結束標簽那一行的前面不能用空格或 Tab 縮進。
- span level elements 如 a, img 可以在任何地方使用
標題
用 1-6 個井號 (#) 開始一行表示這一行是標題,例如:
# 一級標題 ## 二級標題 ###### 六級標題
blockquote
用右尖括號 (>) 表示 blockquote,你一定見過郵件中這樣表示引用別人的內容。可以嵌套,可以包含其它的 Markdown 元素,例如:
> ## This is a header. > > 1. This is the first list item. > 2. This is the second list item. > > Here's some example code: > > return shell_exec("echo $input | $markdown_script");
列表
HTML 列表分無序列表 (unordered list, ul) 和有序列表 (ordered list, ol) 兩種。在 Markdown 中用星號、加號、減號開始一行表示無序列表,用數字開始一行表示有序列表。例如:
* Red * Green * Blue 1. Bird 2. McHale 3. Parish
當然在有序列表中不必完全按照數字順序標記,不過最好第一個條目使用數字 1. 列表的標記符號一般寫在一行的開始,不過也可以在前面加最多三個空格 (如果加四個空格就表示是源代碼了,見后文)。
代碼及代碼塊
如果是在一段文字中插入一句代碼,把代碼用 (`) 符號包圍起來即可。這個符號在鍵盤左上角,1 的左邊,Tab 的上面。
如果插入一大段代碼也很簡單,在代碼的每一行之前加四個空格。
橫線
三個或以上星號、減號或者下劃線單獨放在一行即可生成一條橫線 (horizontal rule, hr). 以下例子都是可以的:
* * * *** ***** - - - ---------------------------------------
強調
用星號或下劃線來實現。兩邊分別放一個 * 或 _ 會生成 em 標簽,放兩個則生成 strong 標簽。例如:
*單星號* _單下劃線_ **雙星號** __雙下劃線__
會生成:
<em>單星號</em> <em>單下劃線</em> <strong>雙星號</strong> <strong>雙下劃線</strong>