文章目錄
簡述
Markdown 是一種輕量級的標記語言,通過簡單的標記,使得普通文本具有一定的格式。 Markdown 具有一系列的衍生版本,極大地擴展了 Markdown 的功能(如表格、腳註、數學公式等),詳情見百度-Markdown。
編輯器
Markdown 編輯器有很多,筆者在撰寫這篇博客使用的是 Visual Studio Code ,該文本編輯器默認支持 Markdown 基本語法,即擴展的語法如表格、腳註、數學公式是不支持的。另外,筆者還推薦一款非常不錯的編輯器Typora,該編輯器擴展了許多語法規則,如文本高亮、支持 Latex 數學公式等等,十分強大。另外還有很多優秀的編輯器,這個仁者見仁,智者見智,適合自己的就是好的。
基本語法
Markdown 默認支持HTML標籤語法,對於 Markdown 中問包含的標籤,可以直接使用HTML,沒有必要使用界定符表示從Markdown切換至HTML之類的。唯一的限制就是對於HTML的塊級標籤,如<div>、<table>、<pre>、<p>等,需要另起一行單獨放置,並且開始和結束標籤前面不能有任何縮進。因此,若讀者想讓 Markdown 編寫的文本具有更多樣式,可以結合使用HTML的相關語法標籤。
強調
Markdown 中可以使用成對星號將文本包含在內以表示某種樣式,如
- *這是一段文本* 表示 這是一段文本
- **這是一段文本** 表示 這是一段文本
- ***這是一段文本*** 表示 這是一段文本
刪除線使用兩對~表示,即 ~~刪除線~~ 表示 刪除線。另外, 下劃線(_)同樣可以作爲強調標記,有 _文本_ 表示 文本, __文本__ 表示 文本。注意,若星號或者下劃線兩邊都有空格,則星號和下劃線會被解釋爲字面量,即 * 文本 *
表示 * 文本 *,而*文本*
表示 文本。
換行
若在 Markdown 中要換行,在需要進行換行的位置連續按下兩次enter
或者space
鍵即可。筆者這裏推薦使用兩下enter
的方式,因爲這種方式表示退出當前編輯並另起一段新的編輯,在諸如引用、列表等場合十分實用。
標題
Markdown 支持兩種標題樣式,分別是 Setext 和 Atx 。
Setext樣式使用=
表示表示一級標題,-
表示二級標題,使用任意長度的=
和-
即可。如
This is the first title
===
This is the first title
This is the second title
---
This is the second title
Atx樣式在每個標題的開頭使用1 ~ 6個#,分別對應1 ~ 6級標題。如
# This is the first title
This is the first title
### This is the third title
This is the third title
列表
Markdown 支持有序列表和無序列表。
無序列表
- 無序列表使用 *、+ 和 -以及一個空格進行書寫。
- 這三個符號是可以互換的哦。
- 當按下三個符號中的任何一個並按下空格
space
後,Markdown 編輯器會自動轉換爲無序列表。
有序列表
- 有序列表使用數字加英文狀態下的句號以及一個緊隨其後的空格進行書寫。
- 其中,有序列表前面的數字可以按照任意順序書寫,甚至可以重複使用。
塊引用
Markdown 使用email樣式的>
字符作爲塊引用。最好對引用文本採取強制換行並在每一行行首放一個>
,Markdown 支持塊引用嵌套,只需要添加額外層級的>
即可,塊引用中可以使用 Markdown 元素。如
> 這是一個塊引用1。
>
> 這是一個塊引用2。
> > 這是一個塊引用3.
> # ***這是一個1號標題並且加粗斜體***
> 1. 列表1
> 2. 列表2
>
> * 列表
> - 列表
> + 列表
這是一個塊引用1。
這是一個塊引用2。
這是一個塊引用3.
這是一個1號標題並且加粗斜體
- 列表1
- 列表2
- 列表
- 列表
- 列表
代碼塊
Markdown 的代碼塊功能十分實用。第一種方式,若要在 Markdown 中插入代碼塊, 只需要將每一行都縮進 4 個空格或者 1 個水平製表符。第二種方式,行內代碼使用 `` 進行插入,段內代碼塊使用``````進行插入。比如:`Math.abs(int a)`表示Math.abs(int a)
,而
```java
import static java.util.function.BiFunction
```
表示
import static java.util.function.BiFunction
通常情況下,段內代碼塊可以指定編程語言,也可以不指定。
水平線
Markdown 中,只要有三個及以上的連字符(-),星號(*)或者下劃線(_),編輯器就會自動生成水平線。星號和連字符之間的空格也是允許的。如
***
*****
* * *
---
___
分別對應
鏈接
Markdown 支持兩種鏈接形式:內聯和引用。
要創建內聯鏈接, 只需在鏈接文本的右括號後面緊接一對圓括號. 圓括號裏面放所需的 URL 鏈接, 還可以放一個 可選 的鏈接標題, 標題要用引號包圍.如
點擊[百度](https://www.baidu.com "內聯鏈接"),你就知道
表示
點擊百度,你就知道
而引用類型的鏈接放在第二個中括號裏, 括號裏面放鏈接標籤,定義鏈接標籤需要單獨佔有一行。如
點擊[百度][baidu]
[baidu]: https://www.baidu.com "引用類型"
表示
點擊百度,你就知道
也就是:
- 方括號中包含鏈接標識符 (可以用三個以上的空白符來添加縮進);
- 跟着是冒號;
- 跟着是一個以上的空白符和水平製表符;
- 跟着是鏈接的 URL;
- 跟着是可選的標題屬性, 可以用單引號, 雙引號, 或者圓括號包圍.
使用引用類型的鏈接時,鏈接定義的名稱可以包含字母, 數字, 空格, 和標點符號,但它們不是大小寫敏感的。
另外,鏈接還有一種隱含鏈接,隱含鏈接名稱使你可以忽略鏈接名稱, 這時鏈接文本本身被用於鏈接名稱. 只用一對空的中括號就可以了,比如:
[LeetCode][]
[LeetCode]: https://leetcode-cn.com/problemset/all/
圖片
通常,通過“原生”的語法在純文本格式中直接插入圖片是很困難的,Markdown 提供了類似鏈接的方式來插入圖片:內聯和引用。鏈接地址通常由絕對地址和相對地址,若圖片資源在本地,最好是放置在和當前 Markdown 文件相同的文件夾下並使用相對地址,若圖片資源爲網絡資源,則使用絕對地址。設當前 Markdown 文件位於桌面,且由一張名爲亞索皮膚-黑夜使者.jpg
的圖片,則內聯圖片語法如下
![alt text](亞索皮膚-黑夜使者.jpg "面對疾風咯")
表示
也就是:
- 一個感嘆號
!
; - 緊跟着一對方括號, 包含了圖片的 alt 屬性;
- 緊跟着一對圓括號, 包含了圖片的 URL 或者路徑, 以及一個可選的用單引號或雙引號包裹的 title 屬性.
而引用圖片語法如下:
![alt text][yasuopic]
[yasuopic]: 亞索皮膚-黑夜使者.jpg "面對疾風咯"
表示
注意,Markdown 沒法直接指定圖片的尺寸,若需指定圖片的尺寸,則使用<img>
標籤。
自動鏈接
Markdown 支持一種 “自動” 創建 URL 和 email 地址鏈接的簡短形式: 只需用尖括號包圍 URL 或 email 地址即可,即<https://www.baidu.com>
表示https://www.baidu.com
反斜槓轉義
Markdown 中可以使用反斜槓轉義 Markdown 語法符號爲字面量. 例如, 如果你想用星號包圍一個單詞,可以在星號前面加反斜槓,如\*強調\*
表示*強調*。Markdown 爲以下字符提供反斜槓轉義:\
,`,*
,_
,{}
,[]
,()
,#
,+
,-
,.
和!
。