提到Markdown,很多人首先想到的是簡單、Easy等等。的確,Markdown為簡單而生。Markdown是由一個叫 JOHN GRUBER 的哥們發明的,它的語法用一篇文章就可以說完。不相信嗎?讓我們來試試看...
基礎語法
標題
Markdown支援6種級別的標題,對應html標籤 h1 ~ h6
# h1
## h2
### h3
#### h4
##### h5
###### h6
複製程式碼
以上標記效果如下:
h1
h2
h3
h4
h5
h6
除此之外,Markdown還支援另外一種形式的標題展示形式,其類似於 Setext 標記語言的表現形式,使用下劃線進行文字大小的控制
這是一級標題
===
這是二級標題
---
複製程式碼
使用這種方式處理標題僅有兩種表現形式,即一級標題和二級標題。遺憾的是,簡書並不支援這種語法。因此,我們用一張圖來展示效果:
這種處理方式在Github的一些開源工程上面比較常見,顯而易見的缺點是:文字大小控制級別有限。段落及區塊引用
需要記住的是,Markdown其實就是一種易於編寫的普通文字,只不過加入了部分渲染文字的標籤而已。其最終依然會轉換為html標籤,因此使用Markdown分段非常簡單,前後至少保留一個空行即可。
而另外一個比較常見的需求就是,我們可能希望對某段文字進行強調處理。Markdown提供了一個特殊符號>用於段首進行強調,被強調的文字部分將會高亮顯示
> 這段文字將被高亮顯示...
複製程式碼
以上標記顯示效果如下:
這段文字將被高亮顯示...
插入連結或圖片
Markdown針對連結和圖片的處理也比較簡單,可以使用下面的語法進行標記
[點選跳轉至百度](http://www.baidu.com)
![圖片](https://user-gold-cdn.xitu.io/2018/4/18/162d75d959444389?w=1240&h=703&f=jpeg&s=56927)
複製程式碼
以上標記顯示效果如下:
注: 引用圖片和連結的唯一區別就是在最前方新增一個感嘆號。
列表
Markdown支援有序列表和無序列表兩種形式:
- 無序列表使用*或+或-標識
- 有序列表使用數字加.標識,例如:1.
* 黃瓜
* 玉米
* 茄子
+ 黃瓜
+ 玉米
+ 茄子
- 黃瓜
- 玉米
- 茄子
1. 黃瓜
2. 玉米
3. 茄子
複製程式碼
以上標記顯示效果如下:
- 黃瓜
- 玉米
- 茄子
- 黃瓜
- 玉米
- 茄子
- 黃瓜
- 玉米
- 茄子
- 黃瓜
- 玉米
- 茄子
注:這裡比較有趣的地方是,對於有序列表,Markdown將只關注你的第一個專案的數字編號。例如:如果第一個專案編號是3,以此類推,第二個專案應該是4,最終將顯示為3、4、5。而如果你指定了第一個編號,後面的編號指定錯誤也沒有關係,Markdown將只在乎你的第一個專案編號。
使用列表的一些注意事項
如果在單一列表項中包含了多個段落,為了保證渲染正常,*與段落首字母之間必須保留四個空格
* 段落一
小段一
* 段落二
小段二
複製程式碼
以上標記顯示效果如下:
-
段落一
小段一
-
段落二
小段二
另外,如果在列表中加入了區塊引用,區域引用標記符也需要縮排4個空格
* 段落一
> 區塊標記一
* 段落二
> 區塊標記二
複製程式碼
- 段落一
區塊標記一
- 段落二
區塊標記二
注:記住一個原則,如果在和列表配合使用的時候出現了問題,就縮排一次,四個空格或者一個製表符代表一次縮排。如果一次縮排沒有解決問題,那就兩次。
分隔線
有時候,為了排版漂亮,可能會加入分隔線。Markdown加入分隔線非常簡單,使用下面任意一種形式都可以
***
---
複製程式碼
產生分隔線的語法要求比較鬆,符號之間新增空格也可以。
強調
有時候,我們希望對某一部分文字進行強調,使用*或_包裹即可。使用單一符號標記的效果是斜體,使用兩個符號標記的效果是加粗
*這裡是斜體*
_這裡是斜體_
**這裡是加粗**
__這裡是加粗__
複製程式碼
這裡是斜體 這裡是斜體
這裡是加粗 這裡是加粗
高階用法
插入程式碼塊
Markdown在IT圈子裡面比較流行的一個重要原因是,它能夠輕鬆漂亮地插入程式碼。
方法是,使用反引號`進行包裹即可。如果是行內程式碼引用,使用單個反引號進行包裹
這是一段var x = 3
行內程式碼
如果插入一整段程式碼,需要至少使用兩個以上反引號進行包裹, 看效果:
fun (x: Int, y: Int): Int {
return x + y
}
複製程式碼
注:很多人不知道怎麼輸入反引號。在英文模式下,找到鍵盤最左側esc鍵下面的第一個鍵點選即可。
插入表格
表格是Markdown語法中比較複雜的一個,其語法如下:
表頭|條目一|條目二
:---:|:---:|:---:
專案|專案一|專案二
複製程式碼
以上標記顯示效果如下:
表頭 | 條目一 | 條目二 |
---|---|---|
專案 | 專案一 | 專案二 |
注:三個短斜槓左右的冒號用於控制對齊方式,只放置左邊冒號表示文字居左,只放置右邊冒號表示文字居右,如果兩邊都放置冒號表示文字居中。
其它
特殊符號處理
Markdown使用反斜槓\插入語法中用到的特殊符號。在Markdown中,主要有以下幾種特殊符號需要處理:
\ 反斜線
` 反引號
* 星號
_ 底線
{} 花括號
[] 方括號
() 括弧
# 井字號
+ 加號
- 減號
. 英文句點
! 驚歎號
複製程式碼
例如,如果你需要插入反斜槓,就連續輸入兩個反斜槓即可:\\ => \ 。
注:在內容中輸入以上特殊符號的時候一定要注意轉義,否則將導致內容顯示不全,甚至排版混亂。
如何給文字上色
使用Markdown的同學最鬱悶的地方恐怕就是不能給文字新增顏色了。事實上,Markdown的最初目標就是為純寫作而生的。因此,它並沒有考慮文字顏色這一點。所以,單純使用Markdown設定文字顏色已經做不到了。但你可以這樣做:
- 先用Markdown編輯完成
- 匯出為html,在需要上色的部分手動新增標籤<font color='#ff0000'></font>儲存即可。
Markdown軟體推薦
如果你是一個Mac使用者,我推薦你使用開源的 MacDown:
如果你願意花錢的話,一些收費產品其實更好。例如:Byword,Ulysses,Typora等等都很不錯。
日常使用,我就用Macdown。寫書,我就用Ulysses。
簡單總結
Markdown是一門比html更簡單的標記語言,其主要用於日常寫作。最終通過相應的編輯器或者指令碼轉換成html用於頁面渲染。如果你是一個作家,或者是一個程式設計師,Markdown對你來說是一門必備的技能。掌握Markdown真的很簡單,如你所見,這篇文章使用了這麼短的篇幅就已經將Markdown的語法全部介紹完了。
不過,由於Markdown基礎語法的限制,出現了一些針對Markdown語法的加強版本。它支援的語法特性更多,但這不是我們這篇文章的討論範圍。如果你希望快速掌握Markdown,很簡單,動起來吧!
歡迎加入Kotlin交流群
如果你也喜歡Kotlin語言,歡迎加入我的Kotlin交流群: 329673958 ,一起來參與Kotlin語言的推廣工作。