Markdown語法入門
一.什么是Markdown語言
我相信有很多小伙伴沒有聽說過Markdown語言。的確,對於一般人來說,有word足夠了。但是有這么一群人,受夠了word那糟糕的排版方式,需要一種新型的、能讓人專注於輸入而非格式的東西。網站小編、碼農、排版編輯高呼:“要有光!” 於是乎Markdown誕生了。
你可以認為Markdown是一種排版語法,提供了一些特殊的符號來替換成對應的格式,我們在word中點擊鼠標來達到加粗、傾斜、增大字體的目的,在Markdown中被相應的特殊符號替代。Markdown用於解放鼠標,僅僅使用鍵盤就能排版出非常漂亮的文字、博客等(比如本文就是用Markdown編寫的)。
我們來看看百度百科的定義:
Markdown是一種可以使用普通文本編輯器編寫的標記語言,通過簡單的標記語法,它可以使普通文本內容具有一定的格式。

對於碼農來說,GitHub一定是如雷貫耳。我們在GitHub的項目目錄下會看到一個"README.MD"文件,這就是Markdown語言編寫的文件,"*.md"就是Markdown文件在windows平台下的后綴名。
ok,現在我假定你已經有了基本HTML基礎,(不懂的瞅瞅這里)現在進入Markdown語言的入門階段。
二.准備階段
首先根據你的操作系統平台選擇一個好的Markdown編輯器,當然,現在也有許多的在線網站支持編寫Markdown,但是為了離線以及更強大的拓展功能,我們還是需要一個編輯器,在這里推薦一些:
- Windows: MarkdownPad
- Linux: ReText
- Mac: Mou
- Wordpress:WordPress › Markdown for WordPress and bbPress « WordPress Plugins
這些都是很輕很強大的編輯器,支持實時預覽和導出為PDF\HTML等多種文件形式,強烈推薦。我用的windows平台下的MarkdownPad,簡直神器。
三.Markdown官方文檔
這里可以看到官方的 Markdown 語法規則文檔,當然,后文我也會用自己的方式闡述這些語法的具體用法。
四.語法入門
1.標題
標題是文章中常用的格式。類似於html中的<h1>到<h6>標簽,Markdown中1到6個#號來標志1到6號標題。所以要想把一段文字定義為標題,只需在前面加上若干的#號即可。

2.列表
學過html的同學一定知道什么是有序列表和無序列表。在Markdown中非常方便,在文字前面加上* 或者+或者-就可將其變成無序列表。在文字前面加上1.,2.,3.就可將其變成有序列表。

3.引用
如果你在此處引用別的地方的文字,那么就需要引用的格式。
只需在引用文字前面加上一個>號(大於號)即可。
引用的樣式
引用的樣式
4.粗體,斜體與刪除線
Markdown中粗體與斜體非常簡單,用兩個*號把文字包圍相當於粗體,用一個*號把文字包圍相當於斜體。使用兩個~~號包圍則顯示刪除線效果。
例如: 這是粗體 這是斜體 這是刪除線
5.鏈接與圖片
鏈接格式:[title](URL)
圖片格式:
ok,我們可以看到鏈接和圖片的格式相當像,區別在於圖片格式多一個!號。
插入一個圖片需要有圖床的支持。我推薦七牛雲和騰訊雲,新用戶送免費容量,對於放一些圖片來說足夠了(不要放高清圖)
推薦一篇文章:怎樣用七牛雲做圖床

6.代碼塊
Markdown當然不會忘了經常使用它的程序猿們,使用 ` 號(英文半角狀態下的Tab鍵上面的那個鍵)將代碼包圍起來即可。
實例:

ok,那么你可能會問,我有一個好多代碼的代碼塊,這樣打字會瘋的,其實markdown還提供了一種簡單的嵌入代碼塊的語法。在你的代碼塊的前面和后面都加上```(三個反引號)即可,如圖:

7.更改圖片大小
我們在上面插入的圖片的大小都是固定的,那么有什么方法可以改變圖片的默認大小呢?
我們說過,我們說過,markdown是兼容HTML語法的,所以可以利用<img>標簽來定義圖片的大小
<img src="filename" width="" height=""></img>
這樣通過img標簽就可以改變圖片的大小了。
8.表格
markdown生成表格是比較麻煩的。
1.使用 | 來分隔不同的單元格,使用 - 來分隔表頭和其他行:
name | age
---- | ---
LearnShare | 12
Mike | 32
效果:
| name | age |
|---|---|
| LearnShare | 12 |
| Mike | 32 |
2.為了美觀,可以使用空格對齊不同行的單元格,並在左右兩側都使用 | 來標記單元格邊界:
| name | age |
| ---------- | --- |
| LearnShare | 12 |
| Mike | 32 |
效果:
| name | age |
|---|---|
| LearnShare | 12 |
| Mike | 32 |
在表頭下方的分隔線標記中加入 :,即可標記下方單元格內容的對齊方式:
:--- 代表左對齊
:--: 代表居中對齊
---: 代表右對齊
| left | center | right |
| :--- | :----: | ----: |
| aaaa | bbbbbb | ccccc |
| a | b | c |
效果:
| left | center | right |
|---|---|---|
| aaaa | bbbbbb | ccccc |
| a | b | c |
如果不使用對齊標記,單元格中的內容默認左對齊;表頭單元格中的內容會一直居中對齊(不同的實現可能會有不同表現)。
五.小技巧
1.字符轉義
比如我們想輸出反引號,但是markdown把反引號作為標記,有編程語言的基礎的同學知道,轉義符的存在。
反斜線(\)用於插入在 Markdown 語法中有特殊作用的字符。
2.首行縮進
很遺憾,markdown沒有專門的符號來表示首行縮進,但是這也難不倒偉大的人們。我們發現把輸入法置為全角狀態,然后再輸入兩個空格就可以了。
效果:
這是默認的效果
這是加了狀態的效果
ok,是不是很神奇呢?
3.字體大小
我們之前說過。markdown是兼容HTML的,所以可以使用<font>標簽來設置字體大小。
<font size=8>我是放大字</font>
我是放大字
<font size=2>我是縮小字</font>
我是縮小字
六.兼容HTML
我們反復說到markdown兼容HTML,因為兩者的組合可以實現各種神奇的效果,與Word不逞多讓。這種小技巧還有很多,在這里就不在敘述。相信你一定迫不及待想試試了。
七.小結
Markdown還有好多其他的用法,但是常用的最基本的也就那么幾種,大家多用幾次Markdown就會熟練了。另外Markdown也兼容html的標簽,所以諸如<br />換行符<hr />水平線也是可以使用的,你甚至可以用<font>標簽來設置字體。
