概述
宗旨
Markdown 的目標是實現「易讀易寫」。
可讀性,無論如何,都是最重要的。一份使用 Markdown 格式撰寫的文件應該可以直接以純文本發佈,並且看起來不會像是由許多標籤或是格式指令所構成。Markdown 語法受到一些既有 text-to-HTML 格式的影響,包括 Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大靈感來源其實是純文本電子郵件的格式。
總之, Markdown 的語法全由一些符號所組成,這些符號經過精挑細選,其作用一目瞭然。比如:在文字兩旁加上星號,看起來就像強調。Markdown 的列表看起來,嗯,就是列表。Markdown 的區塊引用看起來就真的像是引用一段文字,就像你曾在電子郵件中見過的那樣。
兼容 HTML
Markdown語法的目標是:成爲一種適用於網絡的書寫語言。
Markdown 不是想要取代 HTML,甚至也沒有要和它相近,它的語法種類很少,只對應 HTML 標記的一小部分。Markdown 的構想不是要使得 HTML 文檔更容易書寫。在我看來, HTML 已經很容易寫了。Markdown 的理念是,能讓文檔更容易讀、寫和隨意改。HTML 是一種發佈的格式,Markdown 是一種書寫的格式。就這樣,Markdown 的格式語法只涵蓋純文本可以涵蓋的範圍。
不在 Markdown 涵蓋範圍之內的標籤,都可以直接在文檔裏面用 HTML 撰寫。不需要額外標註這是 HTML 或是 Markdown;只要直接加標籤就可以了。
區塊語法
段落
Markdown中的段落需要使用一個以上的空行,否則不會認爲是單獨一個段落。
標題
Markdown支持兩種格式標題形式:
類Setext形式使用底線形式,=表示頂級標題,-表示第二級標題。
頂級標題
=======
二級標題
-------
用Markdown處理之後,效果如下:
頂級標題
二級標題
類Atx形式,在行首插入多個#,表示標題級數(支持六級),如下的語法形式:
#一級標題#
##二級標題
###三級標題
####四級標題
最終轉化之後效果是這樣的:
一級標題
二級標題
三級標題
四級標題
區塊引用
使用字符”>”(大於號),後面跟着一個空格,表示一個區塊引用。
比如下面這種語法
> 區塊引用測試
轉換之後的效果如下
區塊引用測試
區塊引用是可以自身嵌套的,可以使用其他的 Markdown 語法,包括標題、列表、代碼區塊等。
比如下面的效果,可以用嵌套實現
這是一個嵌套標題
這是區塊引用自身嵌套
這是列表項
下面是嵌入代碼
// c++ code
int value = 12345;
列表
無序列表可以使用 星號*、加號+、減號-,作爲標記。有序列表使用數字加一個點號。下面的語法描述
* Red
+ Green
- Blue
-
下面是有序列表
1. 小鳥
2. 大象
轉換之後的語法
- Red
- Green
- Blue
下面是有序列表
- 小鳥
- 大象
代碼區塊
代碼區塊使用四個空格或一個Tab表示。通常這些區塊我們並不希望它以一般段落文件的方式去排版,而是照原來的樣子顯示。比如下面的輸入(正常輸入前面加上四個空格縮進對齊):
sum = 0
for i=0, i < 100, ++i
sum += i
end for
分割線
可以在一行中使用三個以上的星號*、減號-、下劃線表示分割線。比如下面兩行:
***
---
實際顯示效果是這樣的:
*
區段元素
行內鏈接
鏈接的文字使用[方括號]來標記。提示信息可以用雙引號包含。
This is [an test](http://test "help")
轉換之後是這樣的:
This is an test
強調
Markdown使用星號*、和下劃線_,作爲強調字符。
單個字符包圍的表示斜體,兩個字符包圍的表示黑體。
*italic* _italic_
**bold** __bold__
實際顯示效果
italic italic
bold bold
代碼
Markdown支持行內代碼。使用反引號`(左上角數字鍵1左邊對應的字符)。比如下面形式:
Use `printf()` function
顯示爲
Use
printf()
function
自動鏈接和轉移字符
自動鏈接,在名字和url一致的時候,可以用下面形式:
<http://www.help.com/>
顯示效果
Markdown支持轉移字符,使用反斜槓作爲轉移符。比如可以使用轉移字符輸出markdown中使用的關鍵字符。
- \ 反斜線
- ` 反引號
- 星號
- _ 底線
- {} 花括號
- [] 方括號
- () 括弧
- # 井字號
- 加號
- 減號
- . 英文句點
- ! 驚歎號
可以嘗試下:
這裏輸出中括號[4]。
附加說明
本文是使用Markdown編寫的語法學習總結。內容中用到比較多的是代碼區塊和區塊引用,主要是爲了表示原始的語法格式和Markdown轉換之後的效果對比。
參考
[1] Markdown 語法說明