Markdown 入門指南

Markdown 語法手冊


  • 概述
    • 宗旨
    • 兼容HTML
    • 特殊字符子自動轉(zhuǎn)換
  • 區(qū)塊元素
    • 段落和換行
    • 標題
    • 區(qū)塊引用
    • 列表
    • 代碼區(qū)塊
    • 列表區(qū)塊
    • 分隔線
  • 區(qū)段元素
    • 鏈接
    • 強調(diào)
    • 代碼
    • 圖片
  • 其他
    • 反斜杠
    • 自動鏈接

概述

宗旨

Markdown 的目標是實現(xiàn)「易讀易寫」赊淑。

可讀性陶缺,無論如何饱岸,都是最重要的苫费。一份使用 Markdown 格式撰寫的文件應該可以直接以純文本發(fā)布黍衙,并且看起來不會像是由許多標簽或是格式指令所構成。Markdown 語法受到一些既有 text-to-HTML 格式的影響位仁,包括 Setext聂抢、atx琳疏、Textile空盼、reStructuredText揽趾、Grutatext 和 EtText篱瞎,而最大靈感來源其實是純文本電子郵件的格式俐筋。

總之澄者, Markdown 的語法全由一些符號所組成闷哆,這些符號經(jīng)過精挑細選抱怔,其作用一目了然嘀倒。比如:在文字兩旁加上星號测蘑,看起來就像強調(diào)碳胳。Markdown 的列表看起來挨约,嗯诫惭,就是列表夕土。Markdown 的區(qū)塊引用看起來就真的像是引用一段文字怨绣,就像你曾在電子郵件中見過的那樣篮撑。

兼容 HTML

Markdown 語法的目標是:成為一種適用于網(wǎng)絡的書寫語言减细。

Markdown 不是想要取代 HTML,甚至也沒有要和它相近咽扇,它的語法種類很少邪财,只對應 HTML 標記的一小部分陕壹。Markdown 的構想不是要使得 HTML 文檔更容易書寫。在我看來树埠, HTML 已經(jīng)很容易寫了糠馆。Markdown 的理念是怎憋,能讓文檔更容易讀又碌、寫和隨意改。HTML 是一種發(fā)布的格式绊袋,Markdown 是一種書寫的格式毕匀。就這樣,Markdown 的格式語法只涵蓋純文本可以涵蓋的范圍癌别。

不在 Markdown 涵蓋范圍之內(nèi)的標簽皂岔,都可以直接在文檔里面用 HTML 撰寫。不需要額外標注這是 HTML 或是 Markdown展姐;只要直接加標簽就可以了躁垛。

要制約的只有一些 HTML 區(qū)塊元素――比如 <div><table>圾笨、<pre>教馆、<p> 等標簽,必須在前后加上空行與其它內(nèi)容區(qū)隔開擂达,還要求它們的開始標簽與結尾標簽不能用制表符或空格來縮進土铺。Markdown 的生成器有足夠智能,不會在 HTML 區(qū)塊標簽外加上不必要的 <p> 標簽板鬓。

例子如下坡疼,在 Markdown 文件里加上一段 HTML 表格:

這是一個普通段落柠贤。

<table>
  <tr>
    <td>Foo</td>
  </tr>
</table>

這是另一個普通段落啦扬。

請注意内狗,在 HTML 區(qū)塊標簽間的 Markdown 格式語法將不會被處理。比如唤蔗,你在 HTML 區(qū)塊內(nèi)使用 Markdown 樣式的強調(diào)會沒有效果探遵。

HTML 的區(qū)段(行內(nèi))標簽如 <span><cite>妓柜、<del> 可以在 Markdown 的段落箱季、列表或是標題里隨意使用。依照個人習慣棍掐,甚至可以不用 Markdown 格式藏雏,而直接采用 HTML 標簽來格式化。舉例說明:如果比較喜歡 HTML 的 <a><img> 標簽作煌,可以直接使用這些標簽掘殴,而不用 Markdown 提供的鏈接或是圖像標簽語法赚瘦。

和處在 HTML 區(qū)塊標簽間不同,Markdown 語法在 HTML 區(qū)段標簽間是有效的奏寨。

特殊字符自動轉(zhuǎn)換

在 HTML 文件中起意,有兩個字符需要特殊處理: < 和 & 。 < 符號用于起始標簽病瞳,& 符號則用于標記 HTML 實體揽咕,如果你只是想要顯示這些字符的原型,你必須要使用實體的形式套菜,像是 < 和 &亲善。

& 字符尤其讓網(wǎng)絡文檔編寫者受折磨,如果你要打「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

才能放到鏈接標簽的 href 屬性里嚎于。不用說也知道這很容易忽略掘而,這也可能是 HTML 標準檢驗所檢查到的錯誤中,數(shù)量最多的于购。

Markdown 讓你可以自然地書寫字符,需要轉(zhuǎn)換的由它來處理好了知染。如果你使用的 & 字符是 HTML 字符實體的一部分肋僧,它會保留原狀,否則它會被轉(zhuǎn)換成 &控淡。

所以你如果要在文檔中插入一個版權符號 ?嫌吠,你可以這樣寫:

?

Markdown 會保留它不動。而若你寫:
AT&T
Markdown 就會將它轉(zhuǎn)為:

      > AT&T

類似的狀況也會發(fā)生在 < 符號上掺炭,因為 Markdown 允許 兼容 HTML 辫诅,如果你是把 < 符號作為 HTML 標簽的定界符使用,那 Markdown 也不會對它做任何轉(zhuǎn)換涧狮,但是如果你寫:

          4 < 5

Markdown 將會把它轉(zhuǎn)換為:

        4 < 5

不過需要注意的是炕矮,code 范圍內(nèi),不論是行內(nèi)還是區(qū)塊者冤, < 和 & 兩個符號都一定會被轉(zhuǎn)換成 HTML 實體肤视,這項特性讓你可以很容易地用 Markdown 寫 HTML code (和 HTML 相對而言, HTML 語法中涉枫,你要把所有的 < 和 & 都轉(zhuǎn)換為 HTML 實體邢滑,才能在 HTML 文件里面寫出 HTML code。)

區(qū)塊元素

段落和換行

Markdown 段落是由一個或多個連續(xù)的文本行組成愿汰,前后要有一個以上空行(空行的定義是顯示上看起來像空的困后,便會被視為空行乐纸,比方說,若某一行只包含空格和制表符摇予,則該行也會被視為空行)锯仪。普通段落不該用空格或制表符來縮進。


標題

# 這是 H1
# 這是 H2
# 這是 H3
# ...
# 這是 H6
也可以寫成閉合方式
# 標題1 #
效果演示

標題1

標題2

標題3


區(qū)塊引用 Blockquotes

> 在你寫段落前 加上 > 內(nèi)容(中間注意要有個空格)趾盐,渲染后顯示一個塊狀區(qū)間形狀
> 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.

顯示效果

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.


區(qū)塊引用可以嵌套使用庶喜,引用套引用,也可以使用其他的 Markdown 語法救鲤,包括標題久窟、列表、代碼區(qū)塊等:

> ## 這是一個標題

> 1. 這是一行列表項本缠,有序列表
> 2. 這是一行列表項斥扛,有序列表

給出一些例子代碼:
`> return shell_exec("echo $input | $markdown_script");``


列表

<b style="color:pink"> 無序列表 <b>
* Red
* Green
* Blue
+ Red
- Green
也可以使用: +、-

效果
  • Red
  • Green
  • Blue
  • Red
  • Green

<b style="color:pink"> 有序列表 <b>
1. Bird
2. McHale
3. Parish
效果

  1. Bird
  2. McHale
  3. Parish

代碼區(qū)塊

和程序相關的寫作或是標簽語言原始碼通常會有已經(jīng)排版好的代碼區(qū)塊丹锹,通常這些區(qū)塊我們并不希望它以一般段落文件的方式去排版稀颁,而是照原來的樣子顯示,Markdown 會用 <pre><code> 標簽來把代碼區(qū)塊包起來楣黍。

要在 Markdown 中建立代碼區(qū)塊很簡單匾灶,只要簡單地縮進 4 個空格或是 1 個制表符就可以,例如租漂,下面的輸入:

這是一個普通段落:

    這是一個代碼區(qū)塊阶女。

Markdown會轉(zhuǎn)換成:

<p>這是一個普通段落<p>

<pre><code>這是一個代碼區(qū)塊。
</code></pre>

一個代碼區(qū)塊會一直持續(xù)到?jīng)]有縮進的那一行(或是文件結尾)哩治。
代碼區(qū)塊里面秃踩, & 、 < 和 > 會自動轉(zhuǎn)成 HTML 實體业筏,例如:

<div class="footer">
  ?2004 Foo Corporation
</div>

會被轉(zhuǎn)化為:

<pre><code><div class=">"
      &copy; 2004 Foo Corporation
</div>      
</code></pre>

代碼區(qū)塊中憔杨,一般的 Markdown 語法不會被轉(zhuǎn)換,像是星號便只是星號蒜胖,這表示你可以很容易地以 Markdown 語法撰寫 Markdown 語法相關的文件消别。


分隔線

你可以在一行中用三個以上的星號、減號翠勉、底線來建立一個分隔線妖啥,行內(nèi)不能有其他東西。你也可以在星號或是減號中間插入空格对碌。下面每種寫法都可以建立分隔線:

* * *
***
*****
- - -
-------------------------

效果展示






區(qū)段元素

鏈接

Markdown 支持兩種形式的鏈接語法: 行內(nèi)式和參考式兩種形式荆虱。
不管哪種,鏈接文字內(nèi)容都是用[方括號]來標記。
要建立一個行內(nèi)式的鏈接怀读,只要在方塊括號后面緊接著圓括號并插入網(wǎng)址鏈接即可诉位,如果你還想要加上鏈接的 title 文字,只要在網(wǎng)址后面菜枷,用雙引號把 title 文字包起來即可苍糠,例如:

This is  [an example](http://example.com/"Title") inline link.
[This link](url) has no title attribute.

會產(chǎn)生:

<p>This is <a  title="Title">an example </a>inline link.</p>
<p><a href="URL">This link</a> has no title attribute</p>

如果你是要鏈接到同樣主機的資源,你可以使用相對路徑:

See my [About](/about/) page for dataile.

參考式的鏈接是在鏈接文字的括號后面再接上另一個方括號啤誊,而在第二個方括號里面要填入用以辨識鏈接的標記:
This is an example reference-style link.

你也可以選擇性地在兩個括號中間加上一個空格:

This is [an example] [id] reference-style link.

接著岳瞭,在文件的任意處,你可以把這個標記的鏈接內(nèi)容定義出來:

[id]:http://example.com/"Optional Title Here"

鏈接內(nèi)容定義的形式為:

  • 方括號(前面可以選擇性地加上至多三個空格來縮進)蚊锹,里面輸入鏈接文字
  • 接著一個冒號
  • 接著一個以上的空格或制表符
  • 接著鏈接的網(wǎng)址
  • 選擇性地接著 title 內(nèi)容瞳筏,可以用單引號、雙引號或是括弧包著
    下面這三種的定義都是相同的:
[foo]:http://example.com/ "Optional Title Here"
[foo]:http://example.com/ "Optional Title Here"
[foo]:http://example.com/ "Optional Title Here"

請注意:有一個已知的問題是 Markdown.pl 1.0.0.1會忽略單引號包起來的鏈接title牡昆。

鏈接網(wǎng)址也可以用方括號包起來:

[id]:<http://example.com/> "Optional Title Here"

你也可以把 title 屬性放到下一行姚炕,也可以加一些縮進,若網(wǎng)址太長的話丢烘,這樣會比較好看:

網(wǎng)址定義只有在產(chǎn)生鏈接的時候用到柱宦,并不會直接出現(xiàn)在文件之中。
鏈接辨別標簽可以有字母播瞳、數(shù)字掸刊、空白和標點符號,但是并不區(qū)分大小寫狐史,因此下面兩個鏈接是一樣的:

[link text][a]
[link text][A]

隱式鏈接標記功能讓你可以省略指定鏈接標記痒给,這種情形下,鏈接標記會視為等同于鏈接文字骏全,要用隱式鏈接標記只要在鏈接文字后面加上一個空的方括號,如果你要讓 "Google" 鏈接到 google.com尼斧,你可以簡化成:

[Google][]

然后定義鏈接內(nèi)容

[Goole]: http://goole.com/

由于鏈接文字可能含空白姜贡,所以這種簡化型的標記內(nèi)也許包含多個單詞:

Visit [Daring Pireball][] for more information .

然后接著定義鏈接:

鏈接的定義可以放在文件中的任何一個地方,我比較偏好直接放在鏈接出現(xiàn)段落的后面棺棵,你也可以把它放在文件最后面楼咳,就像是注解一樣
范例:

I get 10 times more traffic from [Google][] than from
[Yahoo][] or [MSN][].

[google]: http://google.com/        "Google"
[yahoo]:  http://search.yahoo.com/  "Yahoo Search"
[msn]:    http://search.msn.com/    "MSN Search"

效果

<p>I get 10 times more traffic from <a 
title="Google">Google</a> than from
or <a  title="MSN Search">MSN</a>.</p>

推薦使用參考式鏈接寫法烛恤,快捷方便

強調(diào)

Markdown 使用星號(*)和底線(_)作為標記強調(diào)字詞的符號母怜,被 *_ 包圍的字詞會被轉(zhuǎn)成用 <em> 標簽包圍,用兩個 *_ 包起來的話缚柏,則會被轉(zhuǎn)成 <strong>苹熏,例如:

*single asterisks*

_single underscores_

**double asterisks**

__double underscores__

會轉(zhuǎn)化成:

<em>single asterisks</em>

<em>single underscores</em>

<strong>double asterisks</strong>

<strong>double underscores</strong>

你可以隨便用你喜歡的樣式,唯一的限制是,你用什么符號開啟標簽轨域,就要用什么符號結束袱耽。
強調(diào)也可以直接插在文字中間:

un*frigging*believable

但是如果你的 *_ 兩邊都有空白的話,它們就只會被當成普通的符號干发。

如果要在文字前后直接插入普通的星號或底線朱巨,你可以用反斜線:

\*this text is surrounded by literal asterisks\*

效果
*this text is surrounded by literal asterisks*


代碼

如果要標記一小段行內(nèi)代碼,你可以用反引號把它包起來( ` )反引號枉长,例如:

 Use the `printf()` function.

會產(chǎn)生:

    <p>Use the <code>printf()</code> function.</p>

如果要在代碼區(qū)段內(nèi)插入反引號冀续,你可以用多個反引號來開啟和結束代碼區(qū)段:

      ``There is a literal backtick (`) here.``

轉(zhuǎn)換

          <p><code>There is a literal backtick (`) here.</code></p>

代碼區(qū)段的起始和結束端都可以放入一個空白,起始端后面一個必峰,結束端前面一個洪唐,這樣你就可以在區(qū)段的一開始就插入反引號:

A single backtick in a code span: `` ` ``
A backtick-delimited string in a code span: `` `foo` `

轉(zhuǎn)換成

<p>A single backtick in a code span: <code>`</code></p>

<p>A backtick-delimited string in a code span: <code>`foo`</code></p>

在代碼區(qū)段內(nèi),& 和方括號都會被自動地轉(zhuǎn)成 HTML 實體自点,這使得插入 HTML 原始碼變得很容易桐罕,Markdown 會把下面這段:

Please don't use any `<blink>` tags.

轉(zhuǎn)換成

<p>Please don't use any <code><blink></code> tags.</p>

圖片

Markdown 使用一種和鏈接很相似的語法來標記圖片,同樣也允許兩種樣式: 行內(nèi)式和參考式桂敛。

![Alt text](/path/to/img.jpg)

![Alt text](/path/to/img.jpg "Optional title")

詳細敘述如下:

* 一個驚嘆號 !
* 接著一個方括號功炮,里面放上圖片的替代文字
* 接著一個普通括號,里面放上圖片的網(wǎng)址术唬,最后還可以用引號包住并加上 選擇性的 'title' 文字薪伏。

參考式的圖片語法則長得像這樣:

![Alt text][id]

「id」是圖片參考的名稱,圖片參考的定義方式則和連結參考一樣:

    [id]: url/to/image  "Optional title attribute"

到目前為止粗仓, Markdown 還沒有辦法指定圖片的寬高嫁怀,如果你需要的話,你可以使用普通的 <img> 標簽借浊。


其它

自動鏈接

Markdown 支持以比較簡短的自動鏈接形式來處理網(wǎng)址和電子郵件信箱塘淑,只要是用方括號包起來, Markdown 就會自動把它轉(zhuǎn)成鏈接蚂斤。一般網(wǎng)址的鏈接文字就和鏈接地址一樣存捺,例如:

        <http://example.com/>

Markdown 會轉(zhuǎn)為:

        <a >http://example.com/</a>

郵址的自動鏈接也很類似,只是 Markdown 會先做一個編碼轉(zhuǎn)換的過程曙蒸,把文字字符轉(zhuǎn)成 16 進位碼的 HTML 實體捌治,這樣的格式可以糊弄一些不好的郵址收集機器人,例如:

      <address@example.com>

Markdown 會轉(zhuǎn)成:

  <a href="mailto:addre
  ss@example.co
  m">address@exa
  mple.com</a>\

在瀏覽器里面纽窟,這段字串(其實是 <a href="mailto:address@example.com">address@example.com</a>)會變成一個可以點擊的「address@example.com」鏈接肖油。
(這種作法雖然可以糊弄不少的機器人,但并不能全部擋下來臂港,不過總比什么都不做好些森枪。不管怎樣视搏,公開你的信箱終究會引來廣告信件的。)

反斜杠

Markdown 可以利用反斜杠來插入一些在語法中有其它意義的符號疲恢,例如:如果你想要用星號加在文字旁邊的方式來做出強調(diào)效果(但不用 <em> 標簽)凶朗,你可以在星號的前面加上反斜杠:

    \*literal asterisks\*

Markdown 支持以下這些符號前面加上反斜杠來幫助插入普通的符號:

\   反斜線
`   反引號
*   星號
_   底線
{}  花括號
[]  方括號
()  括弧
#   井字號
+   加號
-   減號
.   英文句點
!   驚嘆號
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市显拳,隨后出現(xiàn)的幾起案子棚愤,更是在濱河造成了極大的恐慌,老刑警劉巖杂数,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宛畦,死亡現(xiàn)場離奇詭異,居然都是意外死亡揍移,警方通過查閱死者的電腦和手機次和,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來那伐,“玉大人踏施,你說我怎么就攤上這事『毖” “怎么了畅形?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诉探。 經(jīng)常有香客問我日熬,道長,這世上最難降的妖魔是什么肾胯? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任竖席,我火速辦了婚禮,結果婚禮上敬肚,老公的妹妹穿的比我還像新娘毕荐。我一直安慰自己,他們只是感情好艳馒,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布东跪。 她就那樣靜靜地躺著,像睡著了一般鹰溜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上丁恭,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天曹动,我揣著相機與錄音,去河邊找鬼牲览。 笑死墓陈,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贡必,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼兔港,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了仔拟?” 一聲冷哼從身側響起衫樊,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎利花,沒想到半個月后科侈,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡炒事,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年臀栈,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挠乳。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡权薯,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出睡扬,到底是詐尸還是另有隱情盟蚣,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布威蕉,位于F島的核電站刁俭,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏韧涨。R本人自食惡果不足惜牍戚,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望虑粥。 院中可真熱鬧如孝,春花似錦、人聲如沸娩贷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽彬祖。三九已至茁瘦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間储笑,已是汗流浹背甜熔。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留突倍,地道東北人腔稀。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓盆昙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親焊虏。 傳聞我的和親對象是個殘疾皇子淡喜,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內(nèi)容

  • 導語: Markdown是一種輕量級的「標記語言」,它的優(yōu)點很多诵闭,目前也被越來越多的寫作愛好者炼团,撰稿者廣泛使用⊥吭玻看...
    福哥_閱讀 625評論 0 5
  • 寫在前面:這是我自己學習MarkDown的一篇文章们镜,我直接按照原來的格式去寫一份,邊寫文章邊學MarkDown润歉,原...
    IUVO閱讀 584評論 0 0
  • 轉(zhuǎn)載請注明原作者模狭,如果你覺得這篇文章對你有幫助或啟發(fā),也可以來請我喝咖啡[http://ww2.sinaimg.c...
    Te_Lee閱讀 1,237,033評論 214 3,826
  • 先說一下個人的情況踩衩,我是即將畢業(yè)的大四狗嚼鹉,就讀于二流學校,學的是會計專業(yè)驱富。從小到大锚赤,一直循規(guī)循矩,導致我覺得我...
    Fioa閱讀 368評論 0 0
  • 柒小如閱讀 344評論 3 7