炒雞好用的Markdown語法

深坑妙脆角發表於2024-08-11

簡介

Markdown是一種輕量級標記語言,它最初由John GruberAaron Swartz2004年共同建立,可以透過簡單、純文字的語法,快速構建格式化、排版精美的文件。其可與HTML混編,可匯出為HTMLPDFWord等格式的檔案

Markdown可以讓作者更多地關注內容本身而非格式排版。同樣的內容,在Markdown裡會比在WordHTML等裡容易很多

  • 如:定義一段粗體文字
    • Word中,我們需要選中這段文字,然後選中粗體格式,或快捷鍵ctrl+B
    • HTML中,我們需要用strongb標籤包裹,或用CSS設定
    • 而在Markdown中,我們只需要在兩側用兩個星號**包裹即可

得益於其簡潔、高效、易讀、易寫,Markdown被大量使用。如GitHub、Jupyter Notebook和各種部落格平臺,都原生支援Markdown,可以說是技術文件編寫的首選,甚至可以用來幫助寫公眾號文章(本篇推文即用Markdown編寫)

使用

Markdown檔案通常採用.md的字尾,其可以在幾乎所有文字編輯器中開啟編輯,如:電腦自帶的記事本等

但,如果你想要預覽其排版格式化的內容,則需要使用對應支援的編輯器,好用的編輯器可以幫你快速預覽、匯出各種格式的文件或影像等,下面介紹幾款主流好用的編輯器

  • Typora — 可實時預覽,介面簡潔,支援多種格式匯出,可自由匯入、切換、自定義各種主題
  • VSCode — 瞭解的應該都瞭解,搭配擴充套件,可實現Markdown的預覽編寫
  • Obsidian — 一款功能強大的筆記軟體,以雙向連結和知識圖譜為特色,適合筆記和知識管理
  • StackEdit — 功能強大的線上編輯器,可同步到Google DriveDropbox

基礎語法

千萬不要被標記語言嚇到,Markdown的語法十分簡單,常用的標記符號不超過十個,用於日常寫作記錄綽綽有餘,幾乎不到半小時就能完全掌握,從此達到心中無塵,碼字入神的境界

標題

用於建立1-6級的標題,可對應HTMLh1 - h6

#後加一個空格再跟標題內容的語法建立,#的數量於標題級數成正比,幾級標題前就跟幾個#

# 一級標題
## 二級標題
### 三級標題
#### 四級標題
##### 五級標題
###### 六級標題

對應預覽效果(不同編輯器、主題會呈現不同效果,可自定義,本文采用github主題):

一級標題

二級標題

三級標題

四級標題

五級標題
六級標題

段落

建立段落,只需使用空白行一行或多行文字進行分隔

這是第一段文字內容

這是第二段文字內容

預覽:

這是第一段文字內容

這是第二段文字內容

如果段落含有語法字元,可使用\轉義,如\*轉義而非斜體\*

詞彙語法

強調

可將文字設定為粗體斜體來強調其重要性

  • 粗體

    需要加粗文字,只需在待加粗內容前後兩側分別新增*星號或_下劃線,推薦使用星號

**兩個星號加粗**

__兩個下劃線加粗__

預覽:

兩個星號加粗

兩個下劃線加粗

  • 斜體

    需要斜體顯示文字,只需在待斜體內容前後兩側分別新增*星號或_下劃線,推薦使用星號

*一個星號斜體*

_一個下劃線斜體_

預覽:

一個星號斜體

一個下劃線斜體

如果想要同時粗體和斜體,只需在待格式內容前後兩側各新增*星號或_下劃線,推薦使用星號

***同時粗體和斜體內容***

___同時粗體和斜體內容___

預覽:

同時粗體和斜體內容

同時粗體和斜體內容

刪除線

想要出現刪除線效果,只需在待刪除內容前後兩側各加~

~~刪除線內容~~

預覽:

刪除內容

高亮

想要高亮內容,只需在待高亮內容前後兩側各加=

==高亮內容==

預覽:

高亮內容

上下標

有時需要使用上下標格式文字

  • 上標

    使用上標,需在待上標內容兩側加^

x^y^

預覽

xy

  • 下標

    使用下標,需在待下標內容兩側加~

H~2~O

預覽

H2O

連結

可用於快速插入連結,達到跟HTMLa標籤同樣的效果

語法為:[連結描述](連結地址)

[百度一下](https://www.baidu.com)

預覽:

百度一下

圖片

可用於快速插入圖片,達到跟HTMLimg標籤同樣的效果

語法為:![圖片描述](圖片連結地址,可本地或網路),與連結語法類似,前面多了個!而已

![可為空](D:\img\cat.gif)

預覽:

cat

引用

用於建立塊引用,達到突出引用內容的目的

語法為:> 引用內容,採用>後跟一個空格再加待引用內容的形式

如有多段引用內容,需要在每一段內容前均新增>,包括分隔段落用的空白行

> 單行引用內容

> 多行引用內容
> 
> 第二段內容

預覽:

單行引用內容

多行引用內容

第二段內容

引用還可以巢狀結合其它語法進行使用,如強調、連結、列表等,具體可自行嘗試

分隔線

在單獨一行上使用三個或多個星號 ***、破折號--- 或下劃線 ___,並且不包含其他內容,可建立一條分隔線

***

---

_________________

預覽(三種方式效果一致)


列表

用於將多個條目組織成有序或無序列表

  • 無序列表

    在每個列表項前面新增破折號-、星號*或加號+(用空格隔開),縮排一個或多個列表項可建立巢狀列表

- 第一項
  - 第一子項
- 第二項
  - 第二子項
    - 子子項
- 第三項

預覽:

  • 第一項

    • 第一子項
  • 第二項

    • 第二子項
      • 子子項
  • 第三項

  • 有序列表

    在每個列表項前新增數字並緊跟一個英文句點(用空格隔開),數字不必按數學順序排列,但是列表會當以數字1起始

1. 第一項
  1. 第一子項
2. 第二項
  1. 第二子項
    1. 子子項
4. 第三項

預覽:

  1. 第一項
    1. 第一子項
  2. 第二項
    1. 第二子項
    1. 子子項
  3. 第三項

程式碼

可將短語或單詞表示為程式碼,兩側各使用一個引號`包裹

如果想在程式碼內含有反引號,可在內容兩側使用個反引號`包裹

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還可以擴充套件流程圖圖表數學公式等語法,感興趣可自行深入瞭解

同時,搭配不同主題還可以生成各種精美格式、以下是一個擬態風的自定義主題預覽

cover


  1. 高樓,這裡指山頂的寺廟 ↩︎

  2. 虛指,不是實數,這裡形容樓很高 ↩︎

  3. 天上的星星統稱 ↩︎