Markdown溫故知新(2):詳解七大標準語法
- 1、標題
- 2、強調(粗體 & 斜體)
- 3、列表
- 4、連結 & 圖片
- 5、程式碼塊
- 6、引用
- 7、分割線
- 8、總結
說明:在 Markdown 中,一行是指由換行符或回車符之外的字元構成的行,而不包含字元的行或僅包含空格或製表符的行則稱之為空行。
1、標題
每篇文章都需要標題,不同的層級需要不同大小的標題。要在 Markdown 中實現這種分級標題的效果,只需要在標題前加上井號和空格即可,井號越多,標題越小,最多 6 個井號。具體規則如下:
- 在文字前加 1 個
#
和 1 個空格,文字就會變成一級標題(對應 HTML 中的 H1) - 在文字前加 2 個
#
和 1 個空格,文字就會變成二級標題(對應 HTML 中的 H2) - 在文字前加 3 個
#
和 1 個空格,文字就會變成三級標題(對應 HTML 中的 H3) - 在文字前加 4 個
#
和 1 個空格,文字就會變成四級標題(對應 HTML 中的 H4) - 在文字前加 5 個
#
和 1 個空格,文字就會變成五級標題(對應 HTML 中的 H5) - 在文字前加 6 個
#
和 1 個空格,文字就會變成六級標題(對應 HTML 中的 H6)
一般來說,四級標題就足夠用了,所以有些 Markdown 的樣式預設只對前 4 級標題做區分。
示例一下,輸入文字如下:
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
顯示效果如下:
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
另外,一級標題還可以在標題的下一行用等號來標識,二級標題還可以在標題的下一行用減號來標識。需要注意的是,這種語法在不同平臺會有差異,有些平臺只需要一個等號或減號就行,也有些平臺至少需要兩個,還有些平臺則至少需要三個。
換句話說,你至少需要寫三個等號或減號才能確保在多數平臺上都有效果。當等號或減號的數量達到三個之後,再多寫就不會有額外效果了,所以有些人會瘋狂的寫上很多個等號或減號,其實沒必要。
示例一下,輸入文字如下:
一級標題
===
二級標題
---
顯示效果如下:
一級標題
===
二級標題
---
2、強調(粗體 & 斜體)
如果不寫任何標記符號,那 Markdown 編輯器對你來說就約等於記事本,可能唯一不同的地方就是無論你在 Markdown 編輯器中輸入多少個空格,最終只會呈現一個。
Markdown 預設只支援粗體和斜體,大多數時候這已經足夠了。只需要在文字前後都加上星號,星號中的文字就會自動變粗或傾斜。具體規則如下:
- 1、在文字前後各加 1 個
*
,文字就會變成斜體 - 2、在文字前後各加 2 個
*
,文字就會變成粗體 - 3、在文前前後各加 3 個
*
,文字就會變成粗斜體
另外,也可以用下劃線來代替星號,效果是一樣的。
示例一下,輸入文字如下:
科技*改變*生活,程式碼_改變_世界
科技**改變**生活,程式碼__改變__世界
科技***改變***生活,程式碼___改變___世界
顯示效果如下:
科技改變生活,程式碼_改變_世界
科技改變生活,程式碼__改變世界
科技改變生活,程式碼_改變___世界
注意:強調效果可以巢狀到列表行和引用段落中,但不能應用到標題或程式碼塊中。我的理解是因為標題和程式碼塊本身就有強調的意味。
3、列表
Markdown 中的列表有兩種,有序列表和無需列表。有序列表的每一行用一個數字、一個英文句點及一個空格來標識,無序列表的每一行用一個減號和一個空格來標識。
有序列表,示例一下,輸入文字如下:
1. 長江
2. 珠江
2. 黃河
顯示效果如下(你有沒有發現黃河前面的 2 被自動糾正為 3 了?):
- 長江
- 珠江
- 黃河
無序列表,示例一下,輸入文字如下:
- 重複言說多半是時間上的損失。
- 教育的目的在於使人能夠繼續教育自己。
- 怕什麼真理無窮,進一寸有一寸的歡喜。
顯示效果如下:
- 重複言說多半是時間上的損失。
- 教育的目的在於使人能夠繼續教育自己。
- 怕什麼真理無窮,進一寸有一寸的歡喜。
其實,無序列表除了可以用減號來標識之外,還可以用加號或星號來標識。比如上例中的-
就可以換成+
或*
,效果完全一樣,甚至可以混用這 3 種符號。
列表巢狀,示例一下,輸入文字如下:
- 1、第一章
- 1.1、第一節
- 1.2、第二節
1. 人不僅有好奇心,還有求知慾
2. 追問事物的原理,是為了控制和利用
3. 人發明了巫術,又從中分離出了科學
- 2、第二章
- 2.1、第一節
- 2.2、第二節
- 3、第三章
顯示效果如下:
- 1、第一章
- 1.1、第一節
- 1.2、第二節
- 人不僅有好奇心,還有求知慾
- 追問事物的原理,是為了控制和利用
- 人發明了巫術,又從中分離出了科學
- 2、第二章
- 2.1、第一節
- 2.2、第二節
- 3、第三章
引用列表,並且在列表中使用標題、粗體和斜體,示例一下,輸入文字如下:
> ## 五大聯合國常任理事國
- **中華人民共和國**
- *美利堅合眾國*
- 俄羅斯聯邦
- 大不列顛及北愛爾蘭聯合王國
- 法蘭西共和國
顯示效果如下:
五大聯合國常任理事國
- 中華人民共和國
- 美利堅合眾國
- 俄羅斯聯邦
- 大不列顛及北愛爾蘭聯合王國
- 法蘭西共和國
列表中還可以包含程式碼塊,需要在程式碼塊的前面加上 8 個空格或 2 個製表符。
4、連結 & 圖片
文字連結的寫法是用一對中括號包裹連結文字,緊接著用一對小括號包裹連結地址,即[連結文字](連結地址)
。另外,還可以給連結加 title,用雙引號或單引號包裹並放在連結地址後面,即[連結文字](連結地址 "title文字")
。
示例一下,輸入文字如下:
[萬能的淘寶](https://www.taobao.com/)
[百度一下](https://www.baidu.com/ "你就知道")
顯示效果如下:
萬能的淘寶
百度一下
圖片連結的寫法只需要在文字連結的前面加上一個感嘆號即可。當然連結地址得是圖片地址,連結文字可寫可不寫,因為不會顯示出來,而且不寫也不影響圖片的顯示。
示例一下,輸入文字如下:
![部落格園Logo](https://www.cnblogs.com/images/logo_small.gif)
![百度Logo](https://www.baidu.com/img/baidu_jgylogo3.gif "百度一下,你就知道")
顯示效果如下:
如果你在本地寫作,也想看圖片連結的效果,那麼你需要把圖片拷貝到 Markdown 檔案所在的目錄中,假如這個圖片名稱是kid.jpg
,那麼寫法就是![](kid.jpg)
。或者拷貝到所在目錄的子目錄中也行,加入子目錄名稱是imgs
,那麼寫法就是![](imgs/kid.jpg)
。
引用連結
在實際應用中,連結地址往往是比較長的,而且有時候還需要文章中多次引用某個連結,這時候可以在 Markdown 檔案末尾定義一下該連結,並設定一個簡短的連結文字,然後就可以在上文中通過連結文字來引用該連結了。
示例一下,輸入文字如下:
部分中文搜尋用[百度][bd]效果更好,多數英文搜尋用[谷歌][gg]效果更好,技術搜尋[谷歌][gg]的效果往往要比[百度][bd]的效果好很多。
然而遺憾的是,在中國訪問[谷歌][gg]需要FQ。
[bd]: https://www.baidu.com/ "百度一下,你就知道"
[gg]: https://www.google.com/ "牆外更精彩"
顯示效果如下:
部分中文搜尋用[百度][bd]效果更好,多數英文搜尋用[谷歌][gg]效果更好,技術搜尋[谷歌][gg]的效果往往要比[百度][bd]的效果好很多。
然而遺憾的是,在中國訪問[谷歌][gg]需要FQ。
[bd]: https://www.baidu.com/ "百度一下,你就知道"
[gg]: https://www.google.com/ "牆外更精彩"
上面示例的是如何引用文字連結,引用圖片連結的方式與引用文字連結的方式完全相同。
自動連結指的是當你輸入一個 url 或郵箱地址等連結時,Markdown 會自動將其轉換為可訪問的連結,寫法是將連結地址置於一對尖括號之中。
示例一下,輸入文字如下:
<https://www.cnblogs.com/>
https://www.cnblogs.com/ 效果對比行
<[email protected]>
[email protected] 效果對比行
顯示效果如下:
https://www.cnblogs.com/
https://www.cnblogs.com/ 效果對比行
[email protected]
[email protected] 效果對比行
可能你會發現,在你使用的編輯器中寫不寫尖括號效果都一樣,那是因為你使用的編輯器自帶了連結識別功能。在很多部落格或網路筆記中,要想連結顯示成連結的效果,還是得加尖括號。
5、程式碼塊
在 Markdown 的所有語法中,程式碼快大概是最能打動程式設計師的。儘管在程式設計師之外的人看來,程式碼快的效果不過是給文字加了個框,但寫過文件的程式設計師都知道 Word 等文書處理軟體中程式碼的顯示效果和編輯效果有多糟糕。
程式碼塊有兩種:一種是行內程式碼塊,用兩個反單引號(也稱重音符)包裹一下即可;另一種是多行程式碼快,在每行程式碼前加四個空格或一個製表符(Tab)的縮排,然後與上一行文字之間保留一個空行即可。
行內程式碼塊,示例一下,輸入文字如下:
JavaScript 在控制檯輸出訊息的語法是 `console.log(message)`。
顯示效果如下:
JavaScript 在控制檯輸出訊息的語法是 console.log(message)
。
多行程式碼快,示例一下,輸入文字如下:
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
顯示效果如下:
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
有些工具或平臺支援很多語言的程式碼高亮,現實效果非常好。常見標準中都沒有規定這一塊,所以如果你想要程式碼高亮,就得按你所用工具的語法規則來寫了。
關於多行程式碼快,CommonMark 標準中定義了一個相對來說更加方便書寫的語法,就是以三個獨佔一行的反單引號開頭,並且以三個獨佔一行反單引號結尾。這樣就不用寫縮進了,而且程式碼塊與上一行之間也不必再保留一個空行了。而且常見的各種工具基本都支援,似乎已經成為事實上的標準了。
示例一下,輸入文字如下:
class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); } }
顯示效果如下:
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
6、引用
如果需要在文中引入一段有出處的話,就可以採用引用的方式實現。實現的方式是在這段話的開頭或上一行加上一個尖括號和一個空格。雖然 Markdown 的引用語法很簡潔,但用法卻很靈活,幾乎可以和任何語法連用,而且很強大,能夠逐級巢狀引用。
普通引用,示例一下,輸入文字如下:
> 普通文字 **加粗文字** *斜體文字*
> ## 二級標題
> #### 四級標題
顯示效果如下:
普通文字 加粗文字 斜體文字
二級標題
四級標題
巢狀引用,示例一下,輸入文字如下:
> 一層引用
>> 兩層引用
>>> 三層引用
>>>> 四層引用
>>>>> 五層引用
顯示效果如下:
一層引用
兩層引用
三層引用
四層引用
五層引用
7、分割線
有些作者很喜歡用水平分割線,也稱分隔符或橫線,在 Markdown 中,分割線的寫法與標題的第二種寫法十分相似,在新的一行連續輸入 3 個或 3 個以上的星號即可。
星號之間可以有空格,且星號還可以用減號或下劃線來代替。需要注意的是,如果用減號,那分割線與上面的段落之間需要空出一行,否則分割線就會與上面的段落組成二級標題了。
示例一下,輸入文字如下:
***
* * *
---(注意:此行的上一行是空著的)
___
顯示效果如下:
**
* *
8、總結
本文主要講解了 Markdown 的七大標準語法的用法。掌握了這七大標準語法,就足夠應對 Markdown 的一般寫作需求了。
通過本文示例可見,Markdown 的語法完全由標點符號構成,且標點符號經過精心挑選,看起來比較直觀形象。例如,文本週圍的*
看起來像是在強調,分割線看起來就像是橫線,列表排列看起來就像是列表。
本文連結:http://www.cnblogs.com/hanzongze/p/markdown-standards.html
版權宣告:本文為部落格園博主 韓宗澤 原創,作者保留署名權!歡迎通過轉載、演繹或其它傳播方式來使用本文,但必須在明顯位置給出作者署名和本文連結!個人部落格,能力有限,若有不當之處,敬請批評指正,謝謝!