跳至內容 taolex客棧
又一個WordPress站點
Markdown語法筆記
前言
這篇文章其實我之前就在Gibhub的博客上寫了畅形,現(xiàn)在博客已經(jīng)遷出Gibhub养距,我稍作了更新重新發(fā)布出來。
Markdown簡介
Markdown是一門為了實現(xiàn)易讀易寫的標記語言日熬,而且可以轉化為其他的標記語言(如HTML)棍厌。這種語言吸收了很多電子郵件中的純文本標記的特性。除了標準語法竖席,Markdown還有很多衍生的版本耘纱,例如PHP Markdown Extra,以及GitHub上的“GitHub Flavored Markdown”(GFM)毕荐。
而本文將介紹原始的標準Markdown語法束析,也就是Standard Markdown(SM)。dillinger是一個在線Markdown編輯器东跪,你可以一邊閱讀本文畸陡,一邊練練手。
標題
一級標題可以用任意數(shù)量=
表示虽填,二級標題用-
表示丁恭,也可以用1到6個#
表示一到六級標題。
語法示例:
一級標題
===
二級標題
---
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
顯示效果:
一級標題
===
二級標題
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
列表
無序列表可以用*
斋日,+
牲览,-
表示,而有序列表則用數(shù)字緊跟.
來表示恶守。有序列表中的數(shù)字不影響實際顯示第献,因為HTML的有序列表<ol>
不支持定義單項序號。列表的一項可以有多個段落兔港,但需要縮進4個空格或1個制表符庸毫。
語法示例:
* perl
* ruby
* python
<!-- 注意兩個列表不能相鄰 -->
1. github
2. jekyll
3. bootstrap
顯示效果:
- perl
- ruby
- python
- github
- jekyll
- 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和圖片
第二種:鏈接google和圖片
強調
強調可以用*
或者_
表示,效果是相同的权薯,不同數(shù)量可以分別表示斜體姑躲、粗體和粗斜體睡扬。
語法示例:
表示*斜體*、**粗體**和***粗斜體***表示_斜體_肋联、__粗體__和___粗斜體___
顯示效果:
表示斜體威蕉、粗體和粗斜體
表示斜體、粗體和粗斜體
代碼段
內聯(lián)代碼段用反引號`
(鍵盤esc下面的鍵橄仍,不要與單引號混淆了)包圍韧涨。
而塊級代碼段出于簡潔的考慮,只需在行的開頭縮進4個空格或1個制表符即可侮繁,Markdown會轉換成用<pre>
和<code>
包圍代碼內容虑粥。
語法示例:
這里是內聯(lián)代碼段`git`,
# 這里是塊級代碼段 git add .
顯示效果:
這里是內聯(lián)代碼段git
宪哩,
#這里是塊級代碼段
git add .
注意:如果你需要在代碼中顯示反引號`娩贷,請參考下面的寫法,要顯示n個反引號的話锁孟,就在外圍寫1 + n個反引號彬祖。
`````
Markdown不會對代碼段的代碼內容進行語法轉換,而像&
和<
這類字符會自動轉換成HTML實體品抽。例如储笑,
<div class="footer">
? 2016 taolex
</div>
會轉換成:
<pre><code><div class="footer">
© 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
塊級元素和內聯(lián)元素
塊級元素(區(qū)塊元素)和內聯(lián)元素(區(qū)段元素)其實是CSS的概念润歉,為了幫助我們更好地在HTML中展示模狭,有必要介紹一下〔锐茫《CSS權威指南》解釋:任何不是塊級元素的可見元素都是內聯(lián)元素嚼鹉。內聯(lián)元素通常不會以新行開始贩汉,如同單詞,相互之間可以在同一行內顯示锚赤;塊級元素如同段落匹舞,不可能共存于同一行。
在Markdown中线脚,段落赐稽、標題、列表浑侥、引用姊舵、塊級代碼段和分割線都是塊級元素,而鏈接寓落、圖片括丁、強調和內聯(lián)代碼段都是內聯(lián)元素。
語法示例:
* apple
`ms`
*nokia*
顯示效果:
- apple
ms
nokia
自動鏈接
Markdown支持自動鏈接形式來處理網(wǎng)址和Email地址伶选,這樣省了我們一些寫HTML的力氣史飞,也可以讓寫作內容一目了然,用法是使用方括號<>
包圍地址內容仰税。
語法示例:
<http://xaolex.github.io>
<xaolex@gmail.com>
顯示效果:
http://xaolex.github.io
xaolex@gmail.com
自動轉換
在HTML中构资,<
和>
用于起始和結束標簽,一些預留字符有特定的含義肖卧,因此這些字符需要使用字符實體才能正確地顯示蚯窥。
因此在傳統(tǒng)的HTML文件中,如果你要表示AT&T
塞帐,則要寫成AT&T
來轉義拦赠,鏈接的href
屬性中包含&
也同理,需要寫成&
】眩現(xiàn)在使用Markdown能幫你自動處理這些元素荷鼠。
例如,如果你寫成AT&T
會被自動轉換成AT&T
榔幸。4<5
會自動轉換成4<5
允乐。
語法示例:
AT&T
? taolex 2016
1 + 1 <> 1
顯示效果:
AT&T
? taolex 2016
1 + 1 <> 1
內嵌HTML
Markdown目標成為一種適合網(wǎng)絡內容的寫作語言。因此削咆,在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凿滤,在網(wǎng)上搜索了一些資料學習Markdown妈橄,順便寫了這篇介紹常用Markdown語法的文章。我覺得這篇文章介紹得還是有點細了翁脆,其實很多細節(jié)的地方我們一般用不到的眷蚓,用到的時候再查也不遲。
不過反番,如果你覺得這些語法還不夠用的話沙热,可以閱讀官方的文章:
英文版:Markdown: Syntax
中文版:Markdown語法說明(詳解版)
中文版還有wowubuntu上的另一個版本,不過我覺得上面這個版本翻譯得更好一些罢缸。
taolex客棧 自豪地采用WordPress