最完整的Markdown基礎教程

歐陽鋒發表於2018-04-18

提到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 標記語言的表現形式,使用下劃線進行文字大小的控制

這是一級標題
===
這是二級標題
---
複製程式碼

使用這種方式處理標題僅有兩種表現形式,即一級標題和二級標題。遺憾的是,簡書並不支援這種語法。因此,我們用一張圖來展示效果:

最完整的Markdown基礎教程
這種處理方式在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. 茄子
複製程式碼

以上標記顯示效果如下:

  • 黃瓜
  • 玉米
  • 茄子
  • 黃瓜
  • 玉米
  • 茄子
  • 黃瓜
  • 玉米
  • 茄子
  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設定文字顏色已經做不到了。但你可以這樣做:

  1. 先用Markdown編輯完成
  2. 匯出為html,在需要上色的部分手動新增標籤<font color='#ff0000'></font>儲存即可。

Markdown軟體推薦

如果你是一個Mac使用者,我推薦你使用開源的 MacDown

Macdown

如果你願意花錢的話,一些收費產品其實更好。例如:Byword,Ulysses,Typora等等都很不錯。

日常使用,我就用Macdown。寫書,我就用Ulysses。

簡單總結

Markdown是一門比html更簡單的標記語言,其主要用於日常寫作。最終通過相應的編輯器或者指令碼轉換成html用於頁面渲染。如果你是一個作家,或者是一個程式設計師,Markdown對你來說是一門必備的技能。掌握Markdown真的很簡單,如你所見,這篇文章使用了這麼短的篇幅就已經將Markdown的語法全部介紹完了。

不過,由於Markdown基礎語法的限制,出現了一些針對Markdown語法的加強版本。它支援的語法特性更多,但這不是我們這篇文章的討論範圍。如果你希望快速掌握Markdown,很簡單,動起來吧!

歡迎加入Kotlin交流群

如果你也喜歡Kotlin語言,歡迎加入我的Kotlin交流群: 329673958 ,一起來參與Kotlin語言的推廣工作。

程式設計,我們是認真的!

關注歐陽鋒工作室,與歐陽鋒同行!

歐陽鋒工作室

相關文章