綜述
設(shè)計哲學(xué)
Markdown設(shè)計之初就是奔著易讀易寫的目標(biāo)去的汪厨。
然而馅扣,我們對于可讀性是更加注重的。一份Markdown文檔應(yīng)該可以像純文本一樣被出版而不是看起來像一些標(biāo)簽標(biāo)記的文檔镐侯。盡管Markdown語法已經(jīng)被現(xiàn)有的文本轉(zhuǎn)換處理器所影響壤圃,例如Settext,atx,Textile,reStructuredText,Grutatext,和EtText陵霉。
為了達(dá)到這個目的,Markdown的語法完全由精心挑選的標(biāo)點符號組成伍绳。
INLINE HTML
Markdown設(shè)計的目的是為了幫助在網(wǎng)絡(luò)上寫作。
Markdown不是HTLM的替代乍桂,甚至和它相去甚遠(yuǎn)冲杀。它的語法集非常的小效床,僅僅是HTML標(biāo)簽的一個很小的子集。此外权谁,Markdown也不是為了創(chuàng)造一種便捷插入HTML標(biāo)簽的語法剩檀。在我看來,HTML TAGs已經(jīng)很容易插入了旺芽。HTML是一種出版格式(publishing format)沪猴,Markdown是一種寫作格式(writing format)。
對于任何不被Markdown語法包括的標(biāo)記采章,你可以簡單的應(yīng)用HTML本身运嗜。也沒有必要聲明你要開始從Markdown轉(zhuǎn)換到HTML了。只需要使用即可悯舟。
唯一的限制就是塊級元素—例如<div>,<table>,<pre>,<p>
等等—必須用空行和周圍的內(nèi)容分開担租。并且,開始和結(jié)束標(biāo)簽不能 用空格和tab進(jìn)行縮進(jìn)抵怎。
例如奋救,為了增加一個HTML table。
這是一個常規(guī)的段落反惕。
<table>
<tr>
<td>Foo</td>
</tr>
</table>
這是另外一個常規(guī)的段落尝艘。
注意Markdown塊級格式語法不會處理塊級元素內(nèi)部的HTML標(biāo)簽。例如姿染,你不能用Markdown格式(emphasis)在一個HTML塊內(nèi)部背亥。
span級元素-例如<span>,<cite>,或者<del>
—可以被用在Markdown段落的任何地方,列表盔粹,或者標(biāo)題隘梨。如果你想,你甚至可以用HTML 標(biāo)簽代替Markdown格式舷嗡。例如轴猎,如果你更喜歡用HTML <a>
或者 <img>
標(biāo)簽代替Markdown的鏈接或者圖片語法,請便进萄。
Automatic Escaping for Special Characters(特殊字符自動轉(zhuǎn)義)
在HTML中有兩個字符捻脖,它們應(yīng)該被特殊對待:< 和 &
。< 被用作開始標(biāo)簽中鼠,& 被用作代指HTML實體字符可婶。如果你想用它們作為原義字符,你必須轉(zhuǎn)義它們?yōu)閷嶓w援雇。
& 對于網(wǎng)絡(luò)作者可能比較煩惱矛渴。如果你想要寫下 AT&T
。你必須寫作 AT&T
。你甚至需要轉(zhuǎn)義 在URL中的&具温。因此蚕涤,如果你想要寫作:
http://images.google.com/images?num=30&q=larry+bird
你應(yīng)該編碼這個URL為:
http://images.google.com/images?num=30&q=larry+bird
在你的a
標(biāo)簽href
屬性中,毫無疑問铣猩,這很容易被忘記揖铜。并且很可能是最常見的錯誤。
Markdown允許你自由的去使用這些字符达皿,它已經(jīng)做好所有的轉(zhuǎn)義操作天吓。如果你用一個 & 作為一個HTML實體。它應(yīng)該使用它本身峦椰,而不是轉(zhuǎn)變成 &
龄寞。
因此,如果你想要在你的文章中包括一個版權(quán)符號们何,你可以這樣寫©
?
Markdown并不會對它做什么萄焦。但是,如果你作:AT&T
冤竹。Markdown將轉(zhuǎn)換為: AT&T
拂封。
Block Elements(塊級元素)
段落和換行
一個段落可能就是被空行分開的一行或者多行連續(xù)的文本。正常的段落不應(yīng)該用空格和tab進(jìn)行縮進(jìn)鹦蠕。
標(biāo)題
Markdown支持兩種格式的標(biāo)題: Settext和atx冒签。
Setext-style標(biāo)題是用等于號“下劃線”(作為一級標(biāo)題)以及虛線符號作為二級標(biāo)題。
例如:
This is an H1
========
This is an H1
========
This is an H2
This is an H2
-----------
任意數(shù)量的 ='s和-'s 都可以工作钟病。
Atx-style標(biāo)題用1-6個#在一行的開始萧恕,對應(yīng)于標(biāo)題等級的1-6級。例如:
# This is an H1
## This is an H2
### This is an H3
可選的是肠阱,你可以選擇atx-style格式的標(biāo)題票唆。這種格式比較漂亮。你可以選擇任意一種你覺得比較好看的格式屹徘。這個閉合 # 不是必須要求的走趋。它的標(biāo)題等級完全取決于開始的 # 數(shù)量。
Blockquotes
Markdown用一種email-style > 字符來作為引用噪伊。
例如:
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
>
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.
Markdown允許你懶惰簿煌,僅僅把 > 放在第一行的前面。
This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.
同時鉴吹,引用也可以被嵌套(例如姨伟,引用中的引用)通過繼續(xù)增加一個 > :
This is the first level of quoting.
This is nested blockquote.
Back to the first level.
引用也可以包含其他的Markdown元素,例如標(biāo)題豆励,列表夺荒,代碼塊:
This is a header.
- This is the first list item.
- This is the second list item.
Here's some example code:
return shell_exec("echo $input | $markdown_script");
Lists
Markdown支持有序和無序列表。
無序列表使用 *,+,-
。
* Red
* Green
* Blue
等價于
+ Red
+ Green
+ Blue
和
- Red
- Green
- Blue
有序列表用數(shù)字+.
號表示般堆。
1. Bird
2. McHale
3. Parish
應(yīng)該注意的一點是你用來標(biāo)記這個列表的數(shù)字對于列表沒有影響在孝。也就是說诚啃,你可以用以下的標(biāo)記生產(chǎn)同樣的效果:
1. Bird
1. McHale
1. Parish
或者淮摔,甚至
3. Bird
1. McHale
8. Parish
列表元素也許由幾行組成,每個子段落都必須縮進(jìn)四個空格或者一個tab始赎。
1. This is a list item with two paragraphs. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Aliquam hendrerit
mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet
vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
sit amet velit.
2. Suspendisse id sem consectetuer libero luctus adipiscing.
也許每行進(jìn)行縮進(jìn)會使得看起來比較漂亮和橙,但是Markdown也允許你偷懶。
* This is a list item with two paragraphs.
This is the second paragraph in the list item. You're
only required to indent the first line. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit.
* Another item in the same list.
為了讓引用可以位于列表元素內(nèi)造垛,引用 >
需要被縮進(jìn)魔招。
* A list item with a blockquote:
> This is a blockquote
> inside a list item.
為了讓代碼塊在一個列表內(nèi),這個代碼塊也需要被縮進(jìn)二倍—8個空格或者兩個tabs五辽。
CODE BLOCK
Markdown包裹一個代碼塊用<pre>和<code>
標(biāo)簽办斑。
為了在Markdown中生產(chǎn)一個代碼塊,簡單的縮進(jìn)每一行快至少4空格或者一個tab杆逗。
This is a normal paragraph:
This is a code block.
Horizontal Rules
你可以生產(chǎn)水平線通過三個或者更多的 `- * _"乡翅。僅僅有它們自己在一行。如果你愿意罪郊,你也可以在其中加入空格蠕蚜。
Span Elements
Links
Markdown 支持兩種格式的鏈接: 行級和引用
在這兩種格式中,鏈接的文本都位于方括號內(nèi)悔橄。
為了創(chuàng)建一個行級鏈接靶累,按照這個格式創(chuàng)建 鏈接文本。
你也可以使用相對引用路徑癣疟。
第二種鏈接格式就像以下的:
This is [ an example][id] reference-style link.
你也可以用空格分開這一組方括號挣柬。
This is [an example] [id] reference-style link.
然后,在文檔的任何位置睛挚,你可以像這樣定義你的鏈接標(biāo)簽邪蛔。
[id]: 鏈接 "title"
以下三種定義都是等價的:
[foo]: http://example.com/ "Optional Title Here"
[foo]: http://example.com/ 'Optional Title Here'
[foo]: http://example.com/ (Optional Title Here)
例如你也可以把鏈接名字用作這個標(biāo)識符。
[google][]
然后竞川,你可以這樣定義鏈接:
[google]: http://google.com
Emphasis
Markdown 把 * 和 _
處理為強(qiáng)調(diào)店溢。如果一個文本被*
或者_
包裹,那么他將被處理為斜體委乌;如果被兩個*
或者_
包裹床牧,那么它將被處理為粗體.
CODE
用()來定義行內(nèi)代碼塊。 如果你想在代碼塊內(nèi)包含
,那么你可以使用多個`來作為開始和閉合定界符遭贸。
Use the `printf()` function.
``There is a literal backtick (`) here.``
A single backtick in a code span: `` ` ``
A backtick-delimited string in a code span: `` `foo` ``
#### IMAGE
圖片的格式和鏈接完全一樣戈咳,只不過在鏈接格式的前面加上!。
例如:


***
翻譯真累,不少單詞還不認(rèn)識著蛙,而且翻譯的的確不好删铃,有些句子不知道怎么對應(yīng)。