簡介
Markdown是一種輕量級標記語言,它最初由John Gruber
和Aaron Swartz
在2004
年共同建立,可以透過簡單、純文字的語法,快速構建格式化、排版精美的文件。其可與HTML
混編,可匯出為HTML
、PDF
、Word
等格式的檔案
Markdown可以讓作者更多地關注內容本身而非格式排版。同樣的內容,在Markdown裡會比在Word
、HTML
等裡容易很多
- 如:定義一段粗體文字
- 在Word中,我們需要選中這段文字,然後選中粗體格式,或快捷鍵
ctrl+B
- 在HTML中,我們需要用
strong
或b
標籤包裹,或用CSS
設定 - 而在Markdown中,我們只需要在兩側用兩個星號
**
包裹即可
- 在Word中,我們需要選中這段文字,然後選中粗體格式,或快捷鍵
得益於其簡潔、高效、易讀、易寫,Markdown被大量使用。如GitHub、Jupyter Notebook和各種部落格平臺,都原生支援Markdown,可以說是技術文件編寫的首選,甚至可以用來幫助寫公眾號文章(本篇推文即用Markdown編寫)
使用
Markdown檔案通常採用.md
的字尾,其可以在幾乎所有文字編輯器中開啟編輯,如:電腦自帶的記事本等
但,如果你想要預覽其排版格式化的內容,則需要使用對應支援的編輯器,好用的編輯器可以幫你快速預覽、匯出各種格式的文件或影像等,下面介紹幾款主流好用的編輯器
- Typora — 可實時預覽,介面簡潔,支援多種格式匯出,可自由匯入、切換、自定義各種主題
- VSCode — 瞭解的應該都瞭解,搭配擴充套件,可實現Markdown的預覽編寫
- Obsidian — 一款功能強大的筆記軟體,以雙向連結和知識圖譜為特色,適合筆記和知識管理
- StackEdit — 功能強大的線上編輯器,可同步到Google Drive和Dropbox
基礎語法
千萬不要被標記、語言嚇到,Markdown的語法十分簡單,常用的標記符號不超過十個,用於日常寫作記錄綽綽有餘,幾乎不到半小時就能完全掌握,從此達到心中無塵,碼字入神的境界
標題
用於建立1-6
級的標題,可對應HTML
的h1 - h6
用#
後加一個空格再跟標題內容的語法建立,#
的數量於標題級數成正比,幾級標題前就跟幾個#
# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題
對應預覽效果(不同編輯器、主題會呈現不同效果,可自定義,本文采用github
主題):
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
段落
建立段落,只需使用空白行將一行或多行文字進行分隔
這是第一段文字內容
這是第二段文字內容
預覽:
這是第一段文字內容
這是第二段文字內容
如果段落含有語法字元,可使用
\
轉義,如\*轉義而非斜體\*
詞彙語法
強調
可將文字設定為粗體或斜體來強調其重要性
-
粗體
需要加粗文字,只需在待加粗內容前後兩側分別新增兩個
*
星號或_
下劃線,推薦使用星號
**兩個星號加粗**
__兩個下劃線加粗__
預覽:
兩個星號加粗
兩個下劃線加粗
-
斜體
需要斜體顯示文字,只需在待斜體內容前後兩側分別新增一個
*
星號或_
下劃線,推薦使用星號
*一個星號斜體*
_一個下劃線斜體_
預覽:
一個星號斜體
一個下劃線斜體
如果想要同時粗體和斜體,只需在待格式內容前後兩側各新增三個*
星號或_
下劃線,推薦使用星號
***同時粗體和斜體內容***
___同時粗體和斜體內容___
預覽:
同時粗體和斜體內容
同時粗體和斜體內容
刪除線
想要出現刪除線效果,只需在待刪除內容前後兩側各加兩個~
~~刪除線內容~~
預覽:
刪除內容
高亮
想要高亮內容,只需在待高亮內容前後兩側各加兩個=
==高亮內容==
預覽:
高亮內容
上下標
有時需要使用上下標格式文字
-
上標
使用上標,需在待上標內容兩側加一個
^
x^y^
預覽
xy
-
下標
使用下標,需在待下標內容兩側加一個
~
H~2~O
預覽
H2O
連結
可用於快速插入連結,達到跟HTML
的a
標籤同樣的效果
語法為:[連結描述](連結地址)
[百度一下](https://www.baidu.com)
預覽:
百度一下
圖片
可用於快速插入圖片,達到跟HTML
的img
標籤同樣的效果
語法為:![圖片描述](圖片連結地址,可本地或網路)
,與連結語法類似,前面多了個!
而已
![可為空](D:\img\cat.gif)
預覽:
引用
用於建立塊引用,達到突出引用內容的目的
語法為:> 引用內容
,採用>
後跟一個空格再加待引用內容的形式
如有多段引用內容,需要在每一段內容前均新增>
,包括分隔段落用的空白行
> 單行引用內容
> 多行引用內容
>
> 第二段內容
預覽:
單行引用內容
多行引用內容
第二段內容
引用還可以巢狀結合其它語法進行使用,如強調、連結、列表等,具體可自行嘗試
分隔線
在單獨一行上使用三個或多個星號 ***
、破折號---
或下劃線 ___
,並且不包含其他內容,可建立一條分隔線
***
---
_________________
預覽(三種方式效果一致)
列表
用於將多個條目組織成有序或無序列表
-
無序列表
在每個列表項前面新增破折號
-
、星號*
或加號+
(用空格隔開),縮排一個或多個列表項可建立巢狀列表
- 第一項
- 第一子項
- 第二項
- 第二子項
- 子子項
- 第三項
預覽:
-
第一項
- 第一子項
-
第二項
- 第二子項
- 子子項
- 第二子項
-
第三項
-
有序列表
在每個列表項前新增數字並緊跟一個英文句點(用空格隔開),數字不必按數學順序排列,但是列表會當以數字
1
起始
1. 第一項
1. 第一子項
2. 第二項
1. 第二子項
1. 子子項
4. 第三項
預覽:
- 第一項
- 第一子項
- 第二項
1. 第二子項
1. 子子項 - 第三項
程式碼
可將短語或單詞表示為程式碼,兩側各使用一個反引號`
包裹
如果想在程式碼內含有反引號,可在內容兩側使用兩個反引號`
包裹
JS可使用`console.log`輸出內容到控制檯
輸出反引號``console.log('`')``
預覽:
JS可使用console.log
輸出內容到控制檯
輸出反引號console.log('`')
程式碼塊
用於表示一整段程式碼內容,語法如下,用三個反引號```
或三個波浪號~~~
包裹塊內容
```json
{
"id": 4001037,
"name": "skmcj"
}
```
```java
System.out.println("hello world");
```
預覽:
{
"id": 4001037,
"name": "skmcj"
}
System.out.println("hello world");
反引號後可跟內容塊語法的標註名稱,可起到語法高亮效果,也可不跟內容,表示普通純文字
內嵌HTML
有時候,單純的Markdown並不能滿足我們的全部需求,此時可直接使用HTML
標籤表達
如<span>
、<cite>
、<del>
、<a>
、<img>
或<div>
等標籤,同時可搭配一些簡單的屬性樣式,起到改變文字、圖片大小等效果
高階語法
基礎語法用於應對大部分日常場景已經十分夠用,但對於某些場景仍有一些不夠
表格
使用三個或多個連字元---
建立分隔標題與內容塊,並使用管道|
分隔每列,可以選擇在表的任一端新增管道
| 第一列 | 第二列 |
| ---------- | ----- |
| 內容 | 內容 |
| 內容 | 內容 |
預覽:
第一列 | 第二列 |
---|---|
內容 | 內容 |
內容 | 內容 |
預設是採用左對齊,可在分隔行兩側新增冒號:
表示左對齊、右對齊或居中
| 左對齊 | 居中 | 右對齊 |
| :----- | :--: | -----: |
| 內容 | 內容 | 內容 |
| 內容 | 內容 | 內容 |
預覽:
左對齊 | 居中 | 右對齊 |
---|---|---|
內容 | 內容 | 內容 |
內容 | 內容 | 內容 |
任務列表
在列表項前帶有核取方塊,用於表達任務的完成與否
語法參考:在任務列表項之前新增破折號-
和方括號[ ]
(兩者用空格隔開),選擇核取方塊,需在方括號[]
裡面新增·x
,如[x]
- [ ] 任務一,未完成
- [x] 任務二,已完成
預覽:
腳註
可以為內容新增註釋和參考
- 腳註使用
[^1]: 註釋一內容
的形式定義,[^1]
為腳註標識,^
後可跟數字或單詞(這裡為數字1),腳註內容與標識之間用冒號加空格隔開 - 引用腳註只需在內容後加腳註標識即可
[^1]
危樓[^1]高百尺[^2],手可摘星辰[^3]。
[^1]: 高樓,這裡指山頂的寺廟
[^2]: 虛指,不是實數,這裡形容樓很高
[^3]: 天上的星星統稱
預覽:
危樓[1]高百尺[2],手可摘星辰[3]。
最後
除了本文介紹內容,Markdown還可以擴充套件流程圖、圖表和數學公式等語法,感興趣可自行深入瞭解
同時,搭配不同主題還可以生成各種精美格式、以下是一個擬態風的自定義主題預覽
高樓,這裡指山頂的寺廟 ↩︎
虛指,不是實數,這裡形容樓很高 ↩︎
天上的星星統稱 ↩︎