[轉]Markdown語法筆記

跳至內容 taolex客棧
又一個WordPress站點

Markdown語法筆記

前言

這篇文章其實我之前就在Gibhub的博客上寫了,現在博客已經遷出Gibhub,我稍作了更新重新發布出來。

Markdown簡介

Markdown

Markdown是一門為了實現易讀易寫的標記語言,而且可以轉化為其他的標記語言(如HTML)。這種語言吸收了很多電子郵件中的純文本標記的特性。除了標準語法,Markdown還有很多衍生的版本,例如PHP Markdown Extra,以及GitHub上的“GitHub Flavored Markdown”(GFM)。
而本文將介紹原始的標準Markdown語法,也就是Standard Markdown(SM)。dillinger是一個在線Markdown編輯器,你可以一邊閱讀本文,一邊練練手。


標題

一級標題可以用任意數量=表示,二級標題用-表示,也可以用1到6個#表示一到六級標題。
語法示例

一級標題
===
二級標題
---
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題

顯示效果
一級標題
===
二級標題


一級標題

二級標題

三級標題

四級標題

五級標題
六級標題

列表

無序列表可以用*+-表示,而有序列表則用數字緊跟.來表示。有序列表中的數字不影響實際顯示,因為HTML的有序列表<ol>不支持定義單項序號。列表的一項可以有多個段落,但需要縮進4個空格或1個制表符。
語法示例

* perl
* ruby
* python
<!-- 注意兩個列表不能相鄰 -->
1. github
2. jekyll
3. bootstrap

顯示效果

  • perl
  • ruby
  • python
  1. github
  2. jekyll
  3. bootstrap

注意:若兩項之間用空行隔開,每項的內容會轉換成被<p>包圍起來。

  • Angry Birds
  • Bad Piggies

會轉換成:

  • Angry Birds
  • Bad Piggies

鏈接和圖片

鏈接和圖片的語法很像,鏈接用[]()表示,而圖片是![](),并且可以選擇加上title屬性。還有另外一種形式,與論文中的參考文獻很相似,具體使用請看示例。
語法示例

第一種:鏈接[google](http://www.google.com "search")和圖片![logo](http://taolex.com/wp- content/uploads/2016/01/logo.png "logo")
第二種:鏈接[google][1]和圖片![logo][2]
[1]: http://www.google.com "search"
[2]: http://taolex.com/wp-content/uploads/2016/01/logo.png "logo"

顯示效果
第一種:鏈接google和圖片

logo

第二種:鏈接google和圖片
logo


強調

強調可以用*或者_表示,效果是相同的,不同數量可以分別表示斜體、粗體和粗斜體。
語法示例
表示*斜體*、**粗體**和***粗斜體***表示_斜體_、__粗體__和___粗斜體___

顯示效果
表示斜體粗體粗斜體
表示斜體粗體粗斜體


代碼段

內聯代碼段用反引號`
(鍵盤esc下面的鍵,不要與單引號混淆了)包圍。
而塊級代碼段出于簡潔的考慮,只需在行的開頭縮進4個空格或1個制表符即可,Markdown會轉換成用<pre><code>包圍代碼內容。
語法示例

這里是內聯代碼段`git`,
# 這里是塊級代碼段 git add .

顯示效果
這里是內聯代碼段git

#這里是塊級代碼段
git add .

注意:如果你需要在代碼中顯示反引號`,請參考下面的寫法,要顯示n個反引號的話,就在外圍寫1 + n個反引號。
`````

Markdown不會對代碼段的代碼內容進行語法轉換,而像&<這類字符會自動轉換成HTML實體。例如,

<div class="footer">
    ? 2016 taolex
</div>

會轉換成:

<pre><code><div class="footer">
    &copy; 2016 taolex
</div>
</code></pre>

水平分隔線
只需要三個或以上的*或者-就可以表示水平分隔線。
語法示例

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

顯示效果





*********************************奇葩的分割線****************************

轉義

有時候我們想要用#*這類字符,但是他們在Markdown中有特殊的含義,所以需要轉義。在Markdown中可以用反斜杠來幫助你使用這類字符。需要轉義的字符如下:

\ 反斜線
` 反引號
* 星號
_ 底線
{} 花括號
[] 方括號
() 括號
# 井號
+ 加號
- 減號
. 句點
! 驚嘆號

語法示例
\#0571
\*\*\*\*711\*\*\*\*

顯示效果
#0571
****711****


引用

引用的用法比較簡單,只需在引用內容開頭加上>
語法示例

問:“WP8應用和iOS應用的差距在哪里?”答:“iOS應用要多少有多少,WP應用要多少有多少。”
中國夢.txt 美國夢.exe 日本夢.avi 朝鮮夢.bat

顯示效果

問:“WP 8 應用和 iOS 應用的差距在哪里?”答:“iOS 應用要多少有多少;WP 應用要多少有多少。
中國夢.txt 美國夢.exe 日本夢.avi 朝鮮夢.bat


塊級元素和內聯元素

塊級元素(區塊元素)和內聯元素(區段元素)其實是CSS的概念,為了幫助我們更好地在HTML中展示,有必要介紹一下。《CSS權威指南》解釋:任何不是塊級元素的可見元素都是內聯元素。內聯元素通常不會以新行開始,如同單詞,相互之間可以在同一行內顯示;塊級元素如同段落,不可能共存于同一行。

在Markdown中,段落、標題、列表、引用、塊級代碼段和分割線都是塊級元素,而鏈接、圖片、強調和內聯代碼段都是內聯元素。
語法示例

* apple
### google
`ms`
*nokia*

顯示效果

  • apple

google

ms
nokia


自動鏈接

Markdown支持自動鏈接形式來處理網址和Email地址,這樣省了我們一些寫HTML的力氣,也可以讓寫作內容一目了然,用法是使用方括號<>包圍地址內容。
語法示例

<http://xaolex.github.io>
<xaolex@gmail.com>

顯示效果
http://xaolex.github.io
xaolex@gmail.com


自動轉換

在HTML中,<>用于起始和結束標簽,一些預留字符有特定的含義,因此這些字符需要使用字符實體才能正確地顯示。
因此在傳統的HTML文件中,如果你要表示AT&T,則要寫成AT&T來轉義,鏈接的href屬性中包含&也同理,需要寫成&。現在使用Markdown能幫你自動處理這些元素。
例如,如果你寫成AT&T會被自動轉換成AT&T4<5會自動轉換成4<5
語法示例

AT&T
? taolex 2016
1 + 1 <> 1

顯示效果
AT&T
? taolex 2016
1 + 1 <> 1


內嵌HTML

Markdown目標成為一種適合網絡內容的寫作語言。因此,在Markdown中可以很方便地使用HTML。有一點需要注意,Markdown不會處理塊級元素的Markdown語法,像<table><div><p>里面用強調語法*ABC*
是無效的。
語法示例

<div>*content*</div>
<p>**paragraph**</p>
<span>***word***</span>
### <a href="#">*Title*</a>

顯示效果
<div>content</div>
<p>paragraph</p>
<span>word</span>

<a href="#">Title</a>


嵌套使用

引用、列表還可以嵌套使用,引用可以嵌套標題、列表等,甚至嵌套另一個引用,列表也可以嵌套另一個列表。如果想要在列表或引用中嵌入塊級代碼段,則需要在原有基礎上縮進8個空格或2個制表符。
語法示例

> *這是引用內容*
> > 再加個引用看看
> 
> * 這是引用中的列表
> * 這是引用中的列表
>

* meat
* vegetable
* fruit
  - apple
  - pear
  - orange

顯示效果

這是引用內容

再加個引用看看

  • 這是引用中的列表
  • 這是引用中的列表
  • meat
  • vegetable
  • fruit
    • apple
    • pear
    • orange

其他語法說明

  • 一行中只含有空格和制表符也算空行。
  • 空一行分段。
  • 行尾輸入兩個空格加回車表示斷行,即<br>
  • 如果兩行之間不空一行表示空格。
  • 可以使用``
  • 進行注釋。

小結

Github上折騰博客,很多地方都用到了Markdown,在網上搜索了一些資料學習Markdown,順便寫了這篇介紹常用Markdown語法的文章。我覺得這篇文章介紹得還是有點細了,其實很多細節的地方我們一般用不到的,用到的時候再查也不遲。

不過,如果你覺得這些語法還不夠用的話,可以閱讀官方的文章:
英文版:Markdown: Syntax
中文版:Markdown語法說明(詳解版)

中文版還有wowubuntu上的另一個版本,不過我覺得上面這個版本翻譯得更好一些。


WordPress.org

taolex客棧 自豪地采用WordPress

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372

推薦閱讀更多精彩內容