Markdown學(xué)習(xí)筆記

Markdown語法

段落和換行

一個(gè)段落的結(jié)束是它的后面有一行空白,例如:

這是第一段

這是第二段

如果要換行的話,就需要在后面加兩個(gè)以上的空格,并回車,例如:

我想要這句話換行,
則必須在這句話的后面敲2個(gè)以上的空格,并回車。

標(biāo)題

Markdown 支持兩種標(biāo)題的語法,類 Setext 和類 atx 形式。

類 Setext 形式是用底線的形式,利用 = (最高階標(biāo)題)和 - (第二階標(biāo)題),例如:

This is an H1
=============

This is an H2
-------------

任何數(shù)量的 = 和 - 都可以有效果。

類 Atx 形式則是在行首插入 1 到 6 個(gè) # ,對應(yīng)到標(biāo)題 1 到 6 階,例如:

# 這是 H1

## 這是 H2

###### 這是 H6

你可以選擇性地「閉合」類 atx 樣式的標(biāo)題,這純粹只是美觀用的,若是覺得這樣看起來比較舒適,你就可以在行尾加上 #,而行尾的 # 數(shù)量也不用和開頭一樣(行首的井字符數(shù)量決定標(biāo)題的階數(shù)):

# 這是 H1 #

## 這是 H2 ##

### 這是 H3 ######

區(qū)塊引用 Blockquotes

在引用的話前加>號,例如:

“道可道,非常道”。----《道德經(jīng)》

也可以嵌套引用,例如:

這里是引用的話1

這里是引用的話2

引用的區(qū)塊內(nèi)也可以使用其他的 Markdown 語法,包括標(biāo)題、列表、代碼區(qū)塊等:

> ## 這是一個(gè)標(biāo)題。
> 
> 1.   這是第一行列表項(xiàng)。
> 2.   這是第二行列表項(xiàng)。
> 
> 給出一些例子代碼:
> 
>     return shell_exec("echo $input | $markdown_script");

列表

Markdown 支持有序列表和無序列表。

無序列表使用星號、加號或是減號作為列表標(biāo)記:

*   Red
*   Green
*   Blue

等同于:

+   Red
+   Green
+   Blue

也等同于:

-   Red
-   Green
-   Blue

有序列表則使用數(shù)字接著一個(gè)英文句點(diǎn):

1.  Bird
2.  McHale
3.  Parish

代碼區(qū)塊

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

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

這是一個(gè)普通段落:

    這是一個(gè)代碼區(qū)塊。

Markdown 會(huì)轉(zhuǎn)換成:

<p>這是一個(gè)普通段落:</p>

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

這個(gè)每行一階的縮進(jìn)(4 個(gè)空格或是 1 個(gè)制表符),都會(huì)被移除,例如:

Here is an example of AppleScript:

    tell application "Foo"
        beep
    end tell

會(huì)被轉(zhuǎn)換為:

<p>Here is an example of AppleScript:</p>

<pre><code>tell application "Foo"
    beep
end tell
</code></pre>

一個(gè)代碼區(qū)塊會(huì)一直持續(xù)到?jīng)]有縮進(jìn)的那一行(或是文件結(jié)尾)。

在代碼區(qū)塊里面, & 、 < 和 > 會(huì)自動(dòng)轉(zhuǎn)成 HTML 實(shí)體,這樣的方式讓你非常容易使用 Markdown 插入范例用的 HTML 原始碼,只需要復(fù)制貼上,再加上縮進(jìn)就可以了,剩下的 Markdown 都會(huì)幫你處理,例如:

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

會(huì)被轉(zhuǎn)換為:

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

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

分割線

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

* * *

***

*****

- - -

---------------------------------------

區(qū)段元素(Span Elements)

連接

Markdown 支持兩種形式的鏈接語法: 行內(nèi)式和參考式兩種形式。

不管是哪一種,鏈接文字都是用 [方括號] 來標(biāo)記。

要建立一個(gè)行內(nèi)式的鏈接,只要在方塊括號后面緊接著圓括號并插入網(wǎng)址鏈接即可,如果你還想要加上鏈接的 title 文字,只要在網(wǎng)址后面,用雙引號把 title 文字包起來即可,例如:

This is [an example](http://example.com/ "Title") inline link.

[This link](http://example.net/) has no title attribute.

會(huì)產(chǎn)生:

<p>This is <a  title="Title">
an example</a> inline link.</p>

<p><a >This link</a> has no
title attribute.</p>

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

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

參考式的鏈接是在鏈接文字的括號后面再接上另一個(gè)方括號,而在第二個(gè)方括號里面要填入用以辨識(shí)鏈接的標(biāo)記:

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

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

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

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

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

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

  • 方括號(前面可以選擇性地加上至多三個(gè)空格來縮進(jìn)),里面輸入鏈接文字
  • 接著一個(gè)冒號
  • 接著一個(gè)以上的空格或制表符
  • 接著鏈接的網(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)

請注意:有一個(gè)已知的問題是 Markdown.pl 1.0.1 會(huì)忽略單引號包起來的鏈接 title。

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

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

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

[id]: http://example.com/longish/path/to/resource/here
    "Optional Title Here"

網(wǎng)址定義只有在產(chǎn)生鏈接的時(shí)候用到,并不會(huì)直接出現(xiàn)在文件之中。

鏈接辨別標(biāo)簽可以有字母、數(shù)字、空白和標(biāo)點(diǎn)符號,但是并不區(qū)分大小寫,因此下面兩個(gè)鏈接是一樣的:

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

隱式鏈接標(biāo)記功能讓你可以省略指定鏈接標(biāo)記,這種情形下,鏈接標(biāo)記會(huì)視為等同于鏈接文字,要用隱式鏈接標(biāo)記只要在鏈接文字后面加上一個(gè)空的方括號,如果你要讓 "Google" 鏈接到 google.com,你可以簡化成:

[Google][]

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

[Google]: http://google.com/

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

Visit [Daring Fireball][] for more information.

然后接著定義鏈接:

[Daring Fireball]: http://daringfireball.net/

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

下面是一個(gè)參考式鏈接的范例:

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

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

如果改成用鏈接名稱的方式寫:

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"

上面兩種寫法都會(huì)產(chǎn)生下面的 HTML。

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

下面是用行內(nèi)式寫的同樣一段內(nèi)容的 Markdown 文件,提供作為比較之用:

I get 10 times more traffic from [Google](http://google.com/ "Google")
than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
[MSN](http://search.msn.com/ "MSN Search").

參考式的鏈接其實(shí)重點(diǎn)不在于它比較好寫,而是它比較好讀,比較一下上面的范例,使用參考式的文章本身只有 81 個(gè)字符,但是用行內(nèi)形式的卻會(huì)增加到 176 個(gè)字元,如果是用純 HTML 格式來寫,會(huì)有 234 個(gè)字元,在 HTML 格式中,標(biāo)簽比文本還要多。

使用 Markdown 的參考式鏈接,可以讓文件更像是瀏覽器最后產(chǎn)生的結(jié)果,讓你可以把一些標(biāo)記相關(guān)的元數(shù)據(jù)移到段落文字之外,你就可以增加鏈接而不讓文章的閱讀感覺被打斷。

強(qiáng)調(diào)

Markdown 使用星號(*)和底線(_)作為標(biāo)記強(qiáng)調(diào)字詞的符號,被 * 或 _ 包圍的字詞會(huì)被轉(zhuǎn)成用 < em> 標(biāo)簽包圍,用兩個(gè) * 或 _ 包起來的話,則會(huì)被轉(zhuǎn)成 < strong>,例如:

*single asterisks*

_single underscores_

**double asterisks**

__double underscores__

會(huì)轉(zhuǎn)成:

<em>single asterisks</em>

<em>single underscores</em>

<strong>double asterisks</strong>

<strong>double underscores</strong>

你可以隨便用你喜歡的樣式,唯一的限制是,你用什么符號開啟標(biāo)簽,就要用什么符號結(jié)束。

強(qiáng)調(diào)也可以直接插在文字中間:

un*frigging*believable

但是如果你的 * 和 _ 兩邊都有空白的話,它們就只會(huì)被當(dāng)成普通的符號。

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

\*this text is surrounded by literal asterisks\*

代碼

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

Use the `printf()` function.

會(huì)產(chǎn)生:

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

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

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

這段語法會(huì)產(chǎn)生:

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

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

A single backtick in a code span: `` ` ``

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

會(huì)產(chǎ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),& 和尖括號都會(huì)被自動(dòng)地轉(zhuǎn)成 HTML 實(shí)體,這使得插入 HTML 原始碼變得很容易,Markdown 會(huì)把下面這段:

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

轉(zhuǎn)為:

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

你也可以這樣寫:

`—` is the decimal-encoded equivalent of `—`.

以產(chǎn)生:

<p><code>—</code> is the decimal-encoded
equivalent of <code>—</code>.</p>

圖片

很明顯地,要在純文字應(yīng)用中設(shè)計(jì)一個(gè)「自然」的語法來插入圖片是有一定難度的。

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

行內(nèi)式的圖片語法看起來像是:

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

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

詳細(xì)敘述如下:

  • 一個(gè)驚嘆號 !

  • 接著一個(gè)方括號,里面放上圖片的替代文字

  • 接著一個(gè)普通括號,里面放上圖片的網(wǎng)址,最后還可以用引號包住并加上選擇性的 'title' 文字。

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

    ![Alt text][id]

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

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

到目前為止, Markdown 還沒有辦法指定圖片的寬高,如果你需要的話,你可以使用普通的 <img> 標(biāo)簽。

其他

自動(dòng)連接

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

<http://example.com/>

Markdown 會(huì)轉(zhuǎn)為:

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

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

<address@example.com>

Markdown 會(huì)轉(zhuǎn)成:

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

在瀏覽器里面,這段字串(其實(shí)是 < a href="mailto:address@example.com">address@example.com</a>)會(huì)變成一個(gè)可以點(diǎn)擊的「address@example.com」鏈接。

(這種作法雖然可以糊弄不少的機(jī)器人,但并不能全部擋下來,不過總比什么都不做好些。不管怎樣,公開你的信箱終究會(huì)引來廣告信件的。)

反斜杠

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

\*literal asterisks\*

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

\   反斜線
`   反引號
*   星號
_   底線
{}  花括號
[]  方括號
()  括弧
#   井字號
+   加號
-   減號
.   英文句點(diǎn)
!   驚嘆號
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,784評論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,746評論 2 370

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

  • 為什么學(xué)習(xí)Markdown 自從搭建了 Hexo 博客之后,發(fā)現(xiàn)還有 Markdown 這種寫文章的方法,想到以后...
    lifeColder閱讀 20,174評論 10 216
  • 前言 一直很想好好打理自己的博客,可是每次寫學(xué)習(xí)筆記之類的東東的時(shí)候都備受折磨。終于,在昨天,我遇見了Markdo...
    零小白閱讀 1,191評論 0 4
  • 1 區(qū)塊元素 1.1 段落 一個(gè) Markdown 段落是由一個(gè)或多個(gè)連續(xù)的文本行組成,它的前后要有一個(gè)以上的空行...
    markouy閱讀 960評論 0 0
  • 原文地址:LoveDev Markdown:一種簡單易學(xué)功能強(qiáng)大、任何文本編輯器都可以編寫的標(biāo)記語言。目前 git...
    KevinLive閱讀 234評論 0 1
  • MarkDown語法學(xué)習(xí) 這是一個(gè)HTML表格 Foo Sun Big Ted 版權(quán)符號? &符號AT&...
    阿咿呀嘿閱讀 304評論 0 1