聲明:本文是對(duì) Markdown 語(yǔ)法說明(簡(jiǎn)體中文版)的轉(zhuǎn)載與臨摹。
宗旨
Markdown 的目標(biāo)是實(shí)現(xiàn)「易讀易寫」。
可讀性虫腋,無論如何,都是最重要的稀余。一份使用 Markdown 格式撰寫的文件應(yīng)該可以直接以純文本發(fā)布悦冀,并且看起來不會(huì)像是由許多標(biāo)簽或是格式指令所構(gòu)成。Markdown 語(yǔ)法受到一些既有 text-to-HTML 格式的影響睛琳,包括 [Setext][1]盒蟆、[atx][2]踏烙、[Textile][3]、[reStructuredText][4]历等、[Grutatext][5] 和 [EtText][6]讨惩,而最大靈感來源其實(shí)是純文本電子郵件的格式。
兼容 HTML
Markdown 語(yǔ)法的目標(biāo)是:成為一種適用于網(wǎng)絡(luò)的書寫語(yǔ)言寒屯。
Markdown 不是想要取代 HTML荐捻,甚至也沒有要和它相近,它的語(yǔ)法種類很少浩螺,只對(duì)應(yīng) HTML 標(biāo)記的一小部分靴患。Markdown 的構(gòu)想不是要使得 HTML 文檔更容易書寫仍侥。在我看來要出, HTML 已經(jīng)很容易寫了。Markdown 的理念是农渊,能讓文檔更容易讀患蹂、寫和隨意改。HTML 是一種發(fā)布的格式砸紊,Markdown 是一種書寫的格式传于。就這樣,Markdown 的格式語(yǔ)法只涵蓋純文本可以涵蓋的范圍醉顽。
不在 Markdown 涵蓋范圍之內(nèi)的標(biāo)簽沼溜,都可以直接在文檔里面用 HTML 撰寫。不需要額外標(biāo)注這是 HTML 或是 Markdown游添;只要直接加標(biāo)簽就可以了系草。
要制約的只有一些 HTML 區(qū)塊元素――比如 <div>
、<table>
唆涝、<pre>
找都、<p>
等標(biāo)簽,必須在前后加上空行與其它內(nèi)容區(qū)隔開廊酣,還要求它們的開始標(biāo)簽與結(jié)尾標(biāo)簽不能用制表符或空格來縮進(jìn)能耻。Markdown 的生成器有足夠智能,不會(huì)在 HTML 區(qū)塊標(biāo)簽外加上不必要的 <p>
標(biāo)簽亡驰。
例子如下晓猛,在 Markdown 文件里加上一段 HTML 表格:
這是一個(gè)普通段落。
<table>
<tr>
<td>Foo</td>
</tr>
</table>
這是另一個(gè)普通段落凡辱。
請(qǐng)注意戒职,在 HTML 區(qū)塊標(biāo)簽間的 Markdown 格式語(yǔ)法將不會(huì)被處理。比如煞茫,你在 HTML 區(qū)塊內(nèi)使用 Markdown 樣式的**強(qiáng)調(diào)**
會(huì)沒有效果帕涌。
HTML 的區(qū)段(行內(nèi))標(biāo)簽如 <span>
摄凡、<cite>
、<del>
可以在 Markdown 的段落蚓曼、列表或是標(biāo)題里隨意使用亲澡。依照個(gè)人習(xí)慣,甚至可以不用 Markdown 格式纫版,而直接采用 HTML 標(biāo)簽來格式化床绪。舉例說明:如果比較喜歡 HTML 的 <a>
或 <img>
標(biāo)簽,可以直接使用這些標(biāo)簽其弊,而不用 Markdown 提供的鏈接或是圖像標(biāo)簽語(yǔ)法癞己。
和處在 HTML 區(qū)塊標(biāo)簽間不同,Markdown 語(yǔ)法在 HTML 區(qū)段標(biāo)簽間是有效的梭伐。
特殊字符自動(dòng)轉(zhuǎn)換
在 HTML 文件中痹雅,有兩個(gè)字符需要特殊處理:<
和 &
。<
符號(hào)用于起始標(biāo)簽糊识,&
符號(hào)則用于標(biāo)記 HTML 實(shí)體绩社,如果你只是想要顯示這些字符的原型,你必須要使用實(shí)體的形式赂苗,像是 <
和 &
愉耙。
&
字符尤其讓網(wǎng)絡(luò)文檔編寫者受折磨,如果你要打「AT&T
」 拌滋,你必須要寫成「AT&T
」朴沿。而網(wǎng)址中的 &
字符也要轉(zhuǎn)換。比如你要鏈接到:
http://images.google.com/images?num=30&q=larry+bird
你必須要把網(wǎng)址轉(zhuǎn)換寫為:
http://images.google.com/images?num=30&q=larry+bird
才能放到鏈接標(biāo)簽的 href
屬性里败砂。不用說也知道這很容易忽略赌渣,這也可能是 HTML 標(biāo)準(zhǔn)檢驗(yàn)所檢查到的錯(cuò)誤中,數(shù)量最多的吠卷。
Markdown 讓你可以自然地書寫字符锡垄,需要轉(zhuǎn)換的由它來處理好了。如果你使用的 &
字符是 HTML 字符實(shí)體的一部分祭隔,它會(huì)保留原狀货岭,否則它會(huì)被轉(zhuǎn)換成 &
。
所以你如果要在文檔中插入一個(gè)版權(quán)符號(hào) ?
疾渴,你可以這樣寫:
?
Markdown 會(huì)保留它不動(dòng)千贯。而若你寫:
AT&T
Markdown 就會(huì)將它轉(zhuǎn)為:
AT&T
類似的狀況也會(huì)發(fā)生在 <
符號(hào)上,因?yàn)?Markdown 允許兼容 HTML搞坝,如果你是把 <
符號(hào)作為 HTML 標(biāo)簽的定界符使用搔谴,那 Markdown 也不會(huì)對(duì)它做任何轉(zhuǎn)換,但是如果你寫:
4 < 5
Markdown 將會(huì)把它轉(zhuǎn)換為:
4 < 5
不過需要注意的是桩撮,code 范圍內(nèi)敦第,不論是行內(nèi)還是區(qū)塊峰弹, <
和 &
兩個(gè)符號(hào)都一定會(huì)被轉(zhuǎn)換成 HTML 實(shí)體,這項(xiàng)特性讓你可以很容易地用 Markdown 寫 HTML code (和 HTML 相對(duì)而言芜果, HTML 語(yǔ)法中鞠呈,你要把所有的 <
和 &
都轉(zhuǎn)換為 HTML 實(shí)體,才能在 HTML 文件里面寫出 HTML code右钾。)
[1]: (http://docutils.sourceforge.net/mirror/setext.html)
[2]: (http://www.aaronsw.com/2002/atx/)
[3]: (http://textism.com/tools/textile/)
[4]: (http://docutils.sourceforge.net/rst.html)
[5]: (http://www.triptico.com/software/grutatxt.html)
[6]: (http://ettext.taint.org/doc/)