您當前的位置:首頁 > 書法

Obsidian教程一

作者:由 小幸軟體雜貨間 發表于 書法時間:2022-04-02

created: 2021-08-09 10:18 modified: 2022-01-12 週三 21:40 aliases: [Markdown教程,MD教程] tags: [“#Markdown #Obsidian”]

什麼是 Markdown?

Markdown

是一款輕量級標記語言,不同於HTML

(Hypertext Markup Language)

Markdown

的語法非常簡單,且容易上手

Markdown

純文字格式

編寫文件,依賴鍵盤而非滑鼠,專注於

寫作本身

,感受

書寫

的魅力

Markdown

的透過新增一些簡單的

識別符號

,讓文字具有

恰到好處

的格式

Markdown

核心特徵就是

刪繁剪蕪

簡扼

+

精煉

Markdown

筆記

網頁文章

的最佳載體

Down

的核心:坐

來,就能把思維寫

牛津高階英漢雙解詞典第九版

中,關於

down

的釋義:

Obsidian教程一

牛津9 down釋義

為什麼要使用 Markdown?

有朋友問我 ,

Markdown

的效果 用Word 完全可以復現,甚至功能更多,那為何要用

Markdown

呢?

答:

- 功能多,不一定是好事 - 功能一多,選擇就會變多,然後你會開始糾結…… - 這個字號是不是該大一點呢? - 這個顏色好像有點不太搭呢? - 這個粗體,是不是該再加點顏色呢? - 這個圖片的位置看起來有點不大對勁呢? - 結果,寫了半天,就憋出一點點東西 - 寫出來的內容。。。好像。。。也不咋滴

MD的優勢:

Markdown

讓我們免於

被繁雜臃腫的功能晃花了眼

的困擾

Markdown

讓我們迴歸內容本身,擁抱筆記的

核心

,而非浮於

表象

的樣式,寫出

高效精練

的筆記!

Markdown

寫東西,記住一個原則

能用10個字搞定的,絕不用11個字

經常使用

Markdown

書寫的朋友,也許會有一種奇妙的感觸 - 書寫,會==倒逼==思維的躍進。像是有東西拽著你的思緒往前衝 - 倒逼:逆向逼迫,反向推動

關於識別符號的濫用

這個其實是寫在最後的,之所以放在這裡,是因為它

很重要

如果你有一定的MD語法基礎,可以直接[[#19 避免識別符號的濫用|點選跳轉]]

Markdown 相關軟體推薦

Markdown

書寫軟體

推薦:

Typora

優秀的 MD網頁文章 書寫軟體

點選跳轉下載地址

提示 以前是免費的,現在收費了,不過是買斷制

Markdown

筆記軟體

推薦:

Obsidian

銀河系最強

MD+雙向鏈

筆記軟體

點選跳轉下載地址

Markdown 語法

提示1:

本教程推薦使用

Obsidian

開啟閱讀

提示2:

下文提到的所有識別符號都是

英文狀態

1。 標題&目錄

1。1 標題

Markdown標題共有

六級

,和 HTML 一樣

區分

一級標題 → 六級標題

標題 的格式:

#

× 標題級數 +

空格

+ 文字內容

這是一段普通的文字

# 這是一級標題

## 這是二級標題

### 這是三級標題

#### 這是四級標題

##### 這是五級標題

###### 這是六級標題

1。2 目錄

目錄的 格式:

在文件的頂部 輸入

[toc]

,會根據

標題

自動生成目錄 (

Table of Content

不是所有

MD編輯器

都支援目錄生成

Obsidian

就不支援,不過

OB

是自帶大綱的,就是目錄的效果

輸入下方內容會生成一個目錄:

[toc]

2。 斜體&粗體

2。1 斜體

斜體 的格式:

*

+ 文字內容 +

*

_

+ 文字內容 +

_

( 下劃線 )

說明:

斜體文字,首尾只有

單個

識別符號

這是一段普通文字

*這裡是一段斜體文字*

_這也是一段斜體文字_

示範

這是一段普通文字

這裡是一段斜體文字

這也是一段斜體文字

2。2 粗體

粗體 的格式:

**

+ 文字內容 +

**

__

+ 文字內容 +

__

(這裡是兩個

_

說明:

粗體文字,首尾各有

兩個

識別符號

這是一段普通文字

**這裡是一段加粗文字**

__這也是一段加粗文字__

示範

這是一段普通文字

這裡是一段加粗文字

這也是一段加粗文字

2。3 粗斜體 (斜粗體)

粗斜體 的格式:

***

+ 文字內容 +

***

___

+ 文字內容 +

___

( 這裡是3個 _ )

**_

+ 文字內容 +

_**

__*

+ 文字內容 +

*__

*__

+ 文字內容 +

__*

_**

+ 文字內容 +

**_

說明:

粗斜體文字,首尾各有

三個

識別符號

這是一段普通文字

***粗斜體文字1***

___粗斜體文字2___

**_粗斜體文字3_**

__*粗斜體文字4*__

*__粗斜體文字5__*

_**粗斜體文字6**_

示範

這是一段普通文字

粗斜體文字1

粗斜體文字2

粗斜體文字3

粗斜體文字4

粗斜體文字5

粗斜體文字6

2。4 斜體包含粗體

斜體中包含粗體 的格式:

*

+ 斜體文字 +

**

+ 粗體文字 +

**

+ 斜體文字 +

*

_

+ 斜體文字 +

__

+ 粗體文字 +

__

+ 斜體文字 +

_

( 這裡是兩個

_

*

+ 斜體文字 +

__

+ 粗體文字 +

__

+ 斜體文字 +

*

_

+ 斜體文字 +

**

+ 粗體文字 +

**

+ 斜體文字 +

_

說明:

斜體

中包含

粗體

,其實就是巢狀的關係,

外層

斜體

內層

粗體

外層是

斜體

,識別符號是

單個

;內層是

粗體

,識別符號是

兩個

因為

粗體

是被包裹在

斜體

中的,所以顯示效果為

斜粗體

這是一段普通文字

*這裡是一段斜體中**包含粗體**的文字*

_這也是一段斜體中**包含粗體**的文字_

*這又是一段斜體中__包含粗體__的文字*

_這還是一段斜體中**包含粗體**的文字_

示範

這是一段普通文字

這裡是一段斜體中

包含粗體

的文字

這也是一段斜體中

包含粗體

的文字

這又是一段斜體中

包含粗體

的文字

這還是一段斜體中

包含粗體

的文字

2。5 粗體包含斜體

粗體中包含斜體 的格式:

**

+ 粗體文字 +

*

+ 斜體文字 +

*

+ 粗體文字 +

**

__

+ 粗體文字 +

_

+ 斜體文字 +

_

+ 粗體文字 +

__

( 這裡是兩個

_

**

+ 粗體文字 +

_

+ 斜體文字 +

_

+ 粗體文字 +

**

__

+ 粗體文字 +

*

+ 斜體文字 +

*

+ 粗體文字 +

__

說明:

粗體

中包含

斜體

,也就是巢狀的關係,

外層

粗體

內層

斜體

外層是

粗體

,識別符號是

兩個

;內層是

斜體

,識別符號是

單個

因為

斜體

是被包裹在

粗體

中的,所以顯示效果為

粗斜體

這是一段普通文字

**這裡是一段粗體中*包含斜體*的文字**

__這也是一段粗體中_包含斜體_的文字__

**這又是一段粗體中_包含斜體_的文字**

__這還是一段粗體中*包含斜體*的文字__

示範

這是一段普通文字

這裡是一段粗體中包含斜體的文字

這也是一段粗體中_包含斜體_的文字

這又是一段粗體中_包含斜體_的文字

這還是一段粗體中包含斜體的文字

3。 線

3。1 水平分割線

水平分割線由至少

3

*

-

組成

下面是一條水平分割線:

——-

***

示範

3。2 文字刪除線

刪除線 的格式:

~~

+ 文字內容 +

~~

首尾各加兩個

~

波浪號

~~這是一段加了刪除線的文字~~

示範

~~這是一段加了刪除線的文字~~

3。3 文字下劃線

下劃線的格式,和 HTML 是一樣的

<u>

+ 文字內容 +

</u>

<

u

>

這是一段加了下劃線的文字

u

>

示範

這是一段加了下劃線的文字

4。 列表&引用

4。1 有序列表

有序列表 的格式:

1.

+

空格

+ 文字內容

說明:

輸入文字內容後,敲擊

Enter

自動補全格式,並進入

下個

有序列表

若需要在同個列表內,增加

換行顯示

的內容 (

但不進入下個列表

) 敲擊

Shift

+

Enter

,即可另起一行輸入文字

在有序列表的中間,插入一個新的列表,後面列表的

數字序號

會自動

遞進

一層

即便在原始碼模式中修改了數字序號,渲染介面依然是

依照順序

顯示的

1。 這是第一個有序列表 <!—— (Enter) ——>

2。 這是第二個有序列表 <!—— (Enter) ——>

3。 這是第三個有序列表

1。 這是第一個有序列表 <!—— (Shift + Enter) ——>

這是同個列表下,另起一行的文字內容 <!—— (Enter) ——>

2。 這是第二個有序列表 <!—— (Shift + Enter) ——>

這是同個列表下,另起一行的文字內容

示範

這是第一個有序列表

這是第二個有序列表

這是第三個有序列表

這是第一個有序列表 這是同個列表下,另起一行的文字內容

這是第二個有序列表 這是同個列表下,另起一行的文字內容

補充

由於有序列表存在

強制排序性

,它的數字序號必然是

逐一遞進

的 若你希望內容前的數字,不依照

遞進順序

排序,或者以

整百

整十數

排序

可以配合

無序列表

,在無序列表中輸入:

數字

+

+ 內容

#注意 點號 與 內容 之間,

沒有空格

(其實有空格也行,就是會感覺有點奇怪)

- 10。這是無序列表下,整十數排列的內容

- 20。這是無序列表下,整十數排列的內容

- 30。這是無序列表下,整十數排列的內容

- 100。這是無序列表下,整百數排列的內容

- 200。這是無序列表下,整百數排列的內容

- 300。這是無序列表下,整百數排列的內容

效果:

10。這是無序列表下,整十數排列的內容

20。這是無序列表下,整十數排列的內容

30。這是無序列表下,整十數排列的內容

100。這是無序列表下,整百數排列的內容

200。這是無序列表下,整百數排列的內容

300。這是無序列表下,整百數排列的內容

4。2 無序列表

無序列表 的格式:

-

+

空格

+ 文字內容

說明:

輸入文字內容後,敲擊

Enter

自動補全格式,並進入

下個

無序列表

若需要在同個列表內,增加

換行

顯示的內容 (

但不進入下個列表

) 敲擊

Shift

+

Enter

,即可另起一行輸入文字

補充:

Obsidian

中,按下

Ctrl

+

Enter

即可快速生成一個無序列表

- 這是第1個無序列表 <!—— (Enter) ——>

- 這是第2個無序列表 <!—— (Enter) ——>

- 這是第3個無序列表

- 這是第一個無序列表 <!—— (Shift + Enter) ——>

這是同個列表下,另起一行的文字內容

- 這是第二個無序列表 <!—— (Shift + Enter) ——>

這是同個列表下,另起一行的文字內容

示範

這是第1個無序列表

這是第2個無序列表

這是第3個無序列表

這是第一個無序列表 這是同個列表下,另起一行的文字內容

這是第二個無序列表 這是同個列表下,另起一行的文字內容

4。3 引用

引用 的格式:

>

+ 文字內容 (

不需要空格

說明:

同個引用段落

內的換行直接敲擊

Enter

即可

若需新增

第二個獨立引用段落

,連續敲擊

兩下

Enter

即可

>這是第一段引用文字的第1行 <!—— (Enter) ——>

>這是第一段引用文字的第2行 <!—— (Enter) ——>

<!—— (Enter) ——>

>這是第二段引用文字的第1行 <!—— (Enter) ——>

>這是第二段引用文字內第2行

示範

這是第一段引用文字的第1行 這是第一段引用文字的第2行

這是第二段引用文字的第1行 這是第二段引用文字的第2行

4。4 縮排&退格

在列表和引用的書寫過程中,我們需要利用 ==縮排== 與 ==退格== ,讓文章肌理分明,更具層級

縮排:

Tab

Ctrl

+

[

(左中括號)

退格:

Shift

+

Tab

Ctrl

+

]

(右中括號)

4。4。1 有序列表的縮&退

1。 第一級有序列表1 <!—— (Enter) ——>

1。 第二級有序列表1 <!—— 寫文字之前,先( Tab 或 Ctrl + ] ) ;寫完文字後,再(Enter) ——>

2。 第二級有序列表2 <!—— (Enter) ——>

2。 第一級有序列表2 <!—— 寫文字前,先 ( Shift + Tab 或 Ctrl + [ ) ——>

補充說明:

有序列表的

數字序號

,即便你在原始碼模式裡 強行改掉 數字,它仍然會

依照順序

顯示

示範

第一級有序列表1

第二級有序列表1

第二級有序列表2

第一級有序列表2

4。4。2 無序列表的縮&退

- 第一級無序列表1 <!—— (Enter) ——>

- 第二級無序列表1 <!—— 寫文字前,先( Tab 或 Ctrl + ] ) ;寫完後,再(Enter) ——>

- 第二級無序列表2 <!—— (Enter) ——>

- 第一級無序列表2 <!—— 寫文字前,先 ( Shift + Tab 或 Ctrl + [ ) ——>

示範

第一級無序列表1

第二級無序列表1

第二級無序列表2

第一級無序列表2

4。4。3 引用的縮&退

引用的

縮排

和列表

不同

引用需另起一行,並額外多打一個 > 來完成

縮排

引用的

退格

與列表

相同

Shift

+

Tab

Ctrl

+

]

(右中括號)

>第一級引用1 <!—— (enter) ——>

>>第二級引用1 <!—— 先打1個 > (這裡的第一個 > 是會自動補充的,只需額外增補1個即可) ,再(enter) ——>

>>第二級引用2 <!—— (enter) ——>

>第一級引用2 <!—— 寫文字前,先 ( Shift + Tab 或 Ctrl + [ ) ——>

示範

第一級引用1

第二級引用1 第二級引用2

第一級引用2

補充:

Obsidian

中,引用的退格是不太一樣的

Obsidian

中,如果想讓已經縮排的引用

退回一層

得使用

Shift

+

Enter

,配合方向鍵,在多個

>

之間靈活斷行 並在下一行 根據需要 選擇性補充

>

這個用文字比較難以描述,這裡選擇用2個帶鍵位的

Gif圖

來描述

Gif演示1:

Obsidian教程一

引用退格1

效果1:

111

222

333

444

555

Gif演示2:

Obsidian教程一

引用退格2

效果2:

111

222

333

444

555

666

777

4。4。4 有序&無序&引用 連續套娃

有序列表

無序列表

引用

三者之間,可以相互巢狀

核心鍵

Shift

+

Enter

&

Enter

&

Shift

+

Tab

( 或

Ctrl

+

[

Shift

+

Enter

在切換格式的巢狀中,是 自帶一層

縮排

效果的

1。 第一級 有序列表1 <!—— (Shift + Enter) ——>

- 第二級 無序列表1 <!—— (Shift + Enter) ——>

>第三級 引用1 <!—— (Enter) ——>

- 第四級 無序列表2 <!—— (Shift + Enter) ——>

1。 第五級 有序列表2 <!—— (Enter) ——>

- 第四級 無序列表3 <!—— 寫文字前,先( Shift + Tab 或 Ctrl + [ ) ;寫完後再 (Enter) ——>

>第三級 引用2 <!—— 寫文字前,先( Shift + Tab 或 Ctrl + [ ) ;寫完後再 (Enter × 2) ——>

- 第二級 無序列表4 <!—— 寫文字前,先( Shift + Tab 或 Ctrl + [ ) ——>

2。 第一級 有序列表3 <!—— 寫文字前,先( Shift + Tab 或 Ctrl + [ ) ——>

示範

第一級 有序列表1

第二級 無序列表1

第三級 引用1

第四級 無序列表2

第五級 有序列表2

第四級 無序列表3

第三級 引用2

第二級 無序列表4

第一級 有序列表3

4。4。5 Obsidian 的一些縮退問題

Obsidian

在列表首行使用縮排的時候,後續的列表會出現一些問題

Tab

Shift + tab

會無法 縮排 退格

可以使用

Ctrl + ]

Ctrl + [

來解決問題

- - 這是第一段就被縮排的列表

- 這是第二段被再次縮排的列表 <!—— 這裡需按兩次 Ctrl + ] ,Tab鍵是無效的 ——>

- 這是第三段列表 <!—— Ctrl + [ ——>

這是第一段就被縮排的列表 - 這是第二段被再次縮排的列表

這是第三段列表

5。 網頁連結與影象

5。1 網頁連結

網頁連結的 格式:

[

+ 顯示文字內容 +

]

+

(

+ 連結地址 +

空格

+

"

+ 提示資訊文字 +

"

+

)

說明:

顯示文字內容,是在渲染介面實際

可見

的文字,用以

說明

連結

提示資訊文字,需滑鼠懸停於

顯示文字內容

方可觸發,用於增加額外提示資訊

注意

"提示資訊文字"

可選項

,一般不會填

一般來講,需按住

Ctrl

+

滑鼠左鍵點選

才可跳轉連結,不過也有

直接滑鼠點選

就能跳轉的

[顯示文字內容](連結地址 “提示資訊文字”)

[百度一下,你就知道](http://www。baidu。com “按住Ctrl點選跳轉百度”)

示範:

百度一下,你就知道

5。1。1連結的加粗

格式有兩種:

把一對 ** 加在 ==顯示文字內容==的首尾

格式1:

[**顯示文字內容**](連結地址)

效果:

百度一下,你就知道

把一對 ** 加在 連結格式==整體== 的首尾

格式2:

**[顯示文字內容](連結地址)**

效果:

百度一下,你就知道

5。2 影象

影象格式:

影象格式,就是在網頁連結前面加個

!

(英文格式的),

!

代表

可見

圖片的提示資訊,和網頁連結一樣,寫在

" "

[ ]

方括號裡的文字資訊在

Markdown

沒啥實質的作用,只是方便在原始碼模式下,知道這個圖片是什麼,在渲染介面是不會顯示的。有點類似於HTML

img標籤

裡的

alt屬性

![文字資訊](圖片連結 “提示文字資訊”)

![湘湖1](https://z3。ax1x。com/2021/08/06/fuNkXq。jpg “湘湖一角”)

補充:

影象連結可以是

本地

的,也可以是

線上

本地影象直接

Ctrl + C

黏貼,

Ctrl + V

複製 就可以

線上影象推薦使用 圖床

調整影象的大小需要使用 HTML 和 CSS,在

Typora編輯器

中右鍵可以直接縮放圖片 本質是轉成了HTML的格式,最後會有一個

style=“zoom: %;”

,這裡數值可以自己修改

如果有使用

Obsidian

的朋友,線上圖片連結是通用的。不過,因為

Obsidian

是雙向鏈筆記 它的

本地圖片

格式不太一樣

![[圖片名]]

Obsidian

中的圖片是以

雙鏈

的格式引用在目標筆記中,用

!

使它可見

Obsidian

的圖片設定大小是用

|

分隔,後面寫寬度數值,單位是px。 設定好寬度,高度會自動

等比例調整

![[圖片名|寬度數值]]

- 若想自主調整圖片寬高,則用: -

![[圖片名|寬度數值x高度數值]]

- #提示 這裡的

x

是 英文字母

x

如果是

線上圖床

,需要調整圖片大小:

![圖床|寬度數值](連結地址)

示範

Obsidian教程一

湘湖1|400

6。 表格

Markdown的表格,比HTML簡單很多

|

是構成表格的主要

框架

-

區分

表頭

表格主體

:

控制 表格內

文字內容

對齊方式

Typora編輯器中

輸入

Ctrl + T

即可快速插入表格,自由定義樣式

|這裡是表頭1|這裡是表頭2|這裡是表頭3|

|:-|:-:|-:| <!——區分表頭和表格主體,:代表文字對齊方式,分別是左對齊,居中對齊,右對齊——>

|單元格資料1|單元格資料2|單元格資料3|

|單元格資料4|單元格資料5|單元格資料6|

示範

| 這裡是表頭1 | 這裡是表頭2 | 這裡是表頭3 | | :—— | :-:| -: | | 單元格資料1 | 單元格資料2 | 單元格資料3 | |單元格資料4|單元格資料5|單元格資料6|

6。1 表格中文字內容的換行

Mardown中表格,它的寬高是由 單元格資料內的文字內容

撐開

當我們輸入一段很長很長的文字,它所在的單元格會變得過寬

如下圖所示:

| 表頭1 | 表頭2 | | :——————————————————————————————: | :————: | | 這是一段很長很長很長很長很長很長很長很長很長很長很長很長很長很長的文字 | 普通文字 |

若想對一段長文字進行換行,可以在

中間

插入一個

<br>

( 換行標籤 )

| 表頭1 | 表頭2 |

|:-:|:-:|

|這是第一行文字
這是另起一行的文字|普通文字|

示範

| 表頭1 | 表頭2 | |:——————————————————:|:————:| | 這是第一行文字

這是另起一行的文字 | 普通文字 |

7。 程式碼域

7。1 行內程式碼

行內程式碼 的格式:

輸入兩個

`

反引號 ,在中間寫程式碼內容

補充:

行內程式碼不一定非得寫程式碼,也可以作為

著重標記

,突出顯示內容

行內程式碼中,原始碼介面和渲染介面是完全一致的,識別符號會失效

所謂行內程式碼:

只要你的螢幕足夠寬,它就不會換行

`這是一段行內程式碼`

`

`

`print(“Hello, World!”)`

`這是一行突出顯示的文字內容`

示範

print(“Hello, World!”)

這是一行突出顯示的文字內容

7。2 程式碼塊

程式碼塊 的格式:

在首行和末行各加

三個

`

反引號

```

+ 語言種類 程式碼內容

```

在首行和末行各加

三個

~

波浪號

~~~

+ 語言種類 程式碼內容

~~~

補充:

在程式碼塊也不一定要寫程式碼,可以寫

一段

突出的文字內容,語言型別可以填寫

txt

或者

乾脆不寫

程式碼塊中,原始碼介面和渲染介面是完全一致的,識別符號會失效

Typora編輯器

,用鍵盤按鍵脫離程式碼塊區域,需輸入:

Ctrl + Enter

```語言種類

程式碼內容

程式碼內容

程式碼內容

```

下面是HTML程式碼塊

```html

row 1, cell 1row 1, cell 2
row 2, cell 1row 2, cell 2

```

下面是CSS程式碼塊

```css

。box {

width: 600px;

height: 400px;

margin: 100px auto;

background-image: linear-gradient(black 33。3%,red 33。3%, red 66。6%, yellow 66。6%, yellow);

}

```

下面是JavaScript程式碼塊

```js

// 定義一個30個整數的陣列,按順序分別賦予從2開始的偶數;然後按順序每五個數求出一個平均值,放在另一個數組中並輸出。試程式設計

let arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60]

let newarr = [];

for (let i = 0, count = 0, sum = 0, len = arr。length; i < len; i++) {

sum += arr。shift();

count++;

if (count % 5 === 0) {

newarr。push(sum / 5);

sum = 0;

}

}

console。log(newarr);

let arr = [2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60]

let newarr = [];

for (let i = 0, len = arr。length; i < len / 5; i++) {

let subarr = arr。splice(0, 5)

for (let j = 0, sum = 0; j < subarr。length; j++) {

sum += subarr[j];

}

newarr。push(sum / 5);

}

console。log(newarr);

```

下面是Python程式碼塊

```python

#!/usr/bin/python

# -*- coding: UTF-8 -*-

i = 2

while(i < 100):

j = 2

while(j <= (i/j)):

if not(i%j): break

j = j + 1

if (j > i/j) : print i, “ 是素數”

i = i + 1

print “Good bye!”

```

下面是一塊突出顯示的文字

```txt

這是一段

突出顯示的

文字內容

```

示範

html

row 1, cell 1 row 1, cell 2
row 2, cell 1 row 2, cell 2

box

{

width

600

px

height

400

px

margin

100

px

auto

background-image

linear-gradient

black

33。3

%

red

33。3

%

red

66。6

%

yellow

66。6

%

yellow

);

}

//

定義一個30個整數的陣列

按順序分別賦予從2開始的偶數

然後按順序每五個數求出一個平均值

放在另一個數組中並輸出

試程式設計

let

arr

=

2

4

6

8

10

12

14

16

18

20

22

24

26

28

30

32

34

36

38

40

42

44

46

48

50

52

54

56

58

60

let

newarr

=

[];

for

let

i

=

0

count

=

0

sum

=

0

len

=

arr

length

i

<

len

i

++)

{

sum

+=

arr。shift()

count++

if

(count

%

5

===

0)

{

newarr。push(sum

/

5)

sum

=

0

}

}

console

log

newarr

);

let

arr

=

2

4

6

8

10

12

14

16

18

20

22

24

26

28

30

32

34

36

38

40

42

44

46

48

50

52

54

56

58

60

let

newarr

=

[];

for

let

i

=

0

len

=

arr

length

i

<

len

/

5

i

++)

{

let

subarr

=

arr。splice(0,

5)

for

(let

j

=

0,

sum

=

0

j

<

subarr。length

j++)

{

sum

+=

subarr[j]

}

newarr

push

sum

/

5

);

}

console

log

newarr

);

#

!/

usr

/

bin

/

python

#

-

*

-

coding

UTF-8

-

*

-

i

=

2

while

i

<

100

):

j

=

2

while

j

<=

i

/

j

)):

if

not

i

%

j

):

break

j

=

j

+

1

if

j

>

i

/

j

print

i

“ 是素數”

i

=

i

+

1

print

“Good bye!”

這是一段

突出顯示的

文字內容

7。2。1 程式碼塊的巢狀

格式:

使用

4

`

包裹

3

`

示範

````txt

```js

// 3。 輸出 100以內(不包括100) 所有偶數的和

// 這類求和問題的核心 : 利用迴圈 (總和 = 舊數的和 + 新數)

let sum = 0;

for (let i = 1, sum = 0; i < 100; i++) {

if (i % 2 == 0) {

// 篩選偶數

sum += i; // sum = sum + i // 累加偶數並賦值給sum

// sum為(舊的,已經進入迴圈的數)的和,i 為新進入迴圈的數。當加到(最後一個新數i)時,sum就是最後的 總和

}

}

console。log(sum); // 列印總和

```

````

如果要再套一層,就在最外層 加

5

`

,以此類推……

7。3 如何在行內程式碼裡顯示反引號

首尾各用 兩個反引號

`

+

空格

包裹

格式:

``+空格+帶`的內容+空格+`` <!—— 不要忘記前後的兩個空格 ——>

`` 這是一段能顯示`反引號`的行內程式碼 ``

效果:

這是一段能顯示`反引號`的行內程式碼

8。 任務列表(待辦)

任務列表 的格式:

-

+

空格

+

[ ]

+

空格

+ 任務列表內容 ( 中括號

[ ]

裡面必須有個空格)

給待辦任務列表打

,變成

已辦

在渲染介面,直接滑鼠左鍵點選框框

在原始碼介面,在中括號內輸入

英文字母x

部分編輯器,在 中括號內 輸入

任意字元

都可以打

( 例如

Obsidian

補充:

大部分 MD編輯器 支援輸入第一個任務列表後,按下

Enter

進入下一行會

自動補全待辦格式

Obsidian

中,連續輸入

兩次

Ctrl + Enter

,即可生成一個待辦列表

再輸入一次

Ctrl + Enter

,會在待辦列表 打

格式:

- [ ] 待辦任務列表1

- [ ] 待辦任務列表2

- [x] 已辦任務列表1 <!—— 英文字母X ——>

- [x] 已辦任務列表2

示範

[ ] 待辦任務列表1

[ ] 待辦任務列表2

[x] 已辦任務列表1

[x] 已辦任務列表2

Obsidian

中,可以利用

Ctrl

+

Enter

,快速生成任務列表

-

+

空格

+

Ctrl

+

Enter

+待辦文字內容

待辦文字內容 +

Ctrl

+

Enter

×2

( 輸入文字後,連續2次

Ctrl + enter

任務列表也是可以縮排+退格的,操作跟 無序、有序列表一樣

示範

[ ] 第一級待辦列表1

[ ] 第二級待辦列表1 另起一行的第二級待辦列表1

[x] 第三級已辦列表1

[x] 第三級已辦列表2

[ ] 第二級待辦列表2 另起一行的第二級待辦列表2

[ ] 第一級待辦列表2

9。 註釋

Markdown

註釋

HMTL

一樣,註釋的內容在

渲染介面

不可見

(部分編輯器可見)

註釋 的格式:

<!—— 這裡是註釋的內容 ——>

註釋可以是單行,也可以是多行

如果有在使用

Obsidian

的,它的註釋格式是不一樣的

%%這是Obsidian的註釋內容%%

<!—— 這裡是一行註釋 ——>

<!——

這裡是

一段

假裝有

很多行的

註釋

——>

%%這是一行Obsidian裡的註釋%%

%%

這裡是

一段

假裝有

很多行的

Obsidian裡的

註釋

%%

示範 (只有切換至 編輯模式 才能看到喔)

%%這是一行Obsidian裡的註釋%%

%% 這裡是 一段 假裝有 很多行的 Obsidian裡的 註釋 %%

10。 變數

10。1 網頁連結變數

網頁連結變數 的格式:

首先輸入

[顯示文字內容]

+

[變數名]

變數名可以自己取,沒啥限制,任意字元都可以

在文件任意一個區域,輸入:

[變數名]

+

:

+

空格

+ 連結地址 (這個

空格

不打也沒事)

[百度一下,你就知道][度娘]

[知乎-有問題,就會有答案][知乎]

<!—— 這裡是變數區域 ——>

[度娘]: http://www。baidu。com

[知乎]: https://www。zhihu。com

示範

百度一下,你就知道

知乎-有問題,就會有答案

10。2 腳註

腳註 的格式:

在需要腳註的地方,輸入:

[^腳註代號]

( 腳註代號會直接顯示在渲染介面 )

腳註代號可以隨便命名,不過推薦使用

數字序號

在其他區域,輸入:

[^腳註代號]

+

:

+

空格

+ 腳註內容 (這個

空格

不打也沒事)

魯迅原名是什麼[^1] ,浙江哪裡人[^2]

<!—— 這裡是變數區域 ——>

[^1]: 周樹人

[^2]: 紹興人

示範

魯迅原名是什麼^1,浙江哪裡人^2

11。 拓展文字格式標記

Markdown

想實現更多的文字顯示效果,只能依賴HTML標記實現

個人

不是很推薦

在 MD 中使用 HTML,不過一些簡單的標記還是可以

輕度使用

11。1 鍵盤文字

鍵盤文字的 格式:

<kbd>鍵盤文字</kbd>

<kbd>Ctrl</kbd> + <kbd>X</kbd>

效果:

鍵盤文字

Ctrl

+

X

( 剪下 )

說明:

鍵盤文字也不一定非得是鍵盤按鍵,也可以作為

著重文字

突出顯示

效果:

這也算一種著重文字的方式

11。1。1 加粗鍵盤文字

加粗

鍵盤文字的格式有

兩種

**鍵盤文字**

**ctrl + x**

效果:

鍵盤文字

ctrl + x

11。2 放大文字

放大文字 的格式:

這是一段普通文字

這是一段放大文字

效果:

這是一段普通文字 這是一段放大文字

11。2。1 放大粗體文字

放大

加粗

文字的格式有

兩種

**這是一段放大粗體文字**

**這是一段放大粗體文字**

效果:

這是一段放大粗體文字

這是一段放大粗體文字

11。3 縮小文字

縮小文字 的格式:

這是一段普通文字

<small>這是一段縮小文字</small>

效果:

這是一段普通文字 這是一段縮小文字

11。3。1 縮小斜體文字

斜體

縮小文字 的格式有

兩種

*這是一段縮小斜體文字*

*這是一段縮小斜體文字*

效果:

這是一段縮小斜體文字

這是一段縮小斜體文字

11。4 多彩文字

多彩文字 的格式:

<font color=orange>這是一段橘色文字</font>

效果:

這是一段橘色文字

color 裡的顏色支援 英文單詞,

16進位制,rgb,rgba

11。4。1 多彩粗體文字

只需要在上面示例的基礎上,加上

加粗識別符號

,有

兩種

格式:

格式1:

**這是一段加粗的水鴨色文字**

效果:

這是一段加粗的水鴨色文字

格式2:

**這是一段加粗的水鴨色文字**

效果:

這是一段加粗的水鴨色文字

若上述混搭方法的樣式

失效

,可以使用 純HTML標記

格式:

這是一段加粗的水鴨色文字

(標記略複雜,不是很推薦)

效果:

這是一段加粗的水鴨色文字

11。4。2 多彩斜體文字

跟多彩加粗文字完全一樣,只需把首尾的

**

換成

*

即可

格式1:

*This is an italic teal text*

效果:

This is an italic teal text

格式2:

*This is an italic teal text*

效果:

This is an italic teal text

11。4。2 多彩粗斜體文字

首尾換成

***

格式1:

***This is a bold italic teal text***

效果:

This is a bold italic teal text

格式2:

***This is a bold italic teal text***

效果:

This is a bold italic teal text

注意 多彩文字儘量慎用,

Markdown

的核心就是

簡潔精煉

,注重

實質內容

,而非花哨的 顏色樣式

12。 拓展文字顯示效果

拓展顯示效果既不是原生

Markdown語法

支援的,也非 HTML標記,而是部分編輯器 提供的

額外識別符號

,屬於拓展語法,旨在為

Markdown使用者

提供更多樣式選擇

不同編輯器,支援不一樣,這裡以

Typora編輯器

為例

12。1 文字高亮

文字高亮 的格式:

==這裡是一段高亮文字==

效果:

==這裡是一段高亮文字==

12。2 上標

用一對

^

包裹 (

Shift+ 6

格式:

x^2^

效果:

x^2^

Obsidian

沒效果的,可以用後面會講的

Latex

或者,也可以使用

HTML標記

這裡是上標內容

X2

效果:

X2

12。3 下標

用一對

~

包裹 (

Shift + `

格式:

H~2~O

效果:

H~2~O

Obsidian

沒效果的,可以用後面會講的

Latex

或者,也可以使用

HTML標記

這裡是下標內容

H2O

效果:

H2O

12。4 Emoji 符號

用一對 : 包裹,裡面是

Emoji

符號的

語義化文字

Typora編輯器

中,輸入

就會帶提示器 )

示例:

:smile:

:sweat:

:cat:

:woman_cartwheeling:

效果:

:smile: :sweat: :cat: :woman_cartwheeling:

補充:

不支援上述方式的 MD編輯器或筆記軟體,直接用

輸入法

輸入也是可以的

Windows系統

使用者

win + .

就可以輸入 Emoji 了

Obsidian

使用者可以安裝

第三方外掛

來支援

Emoji

的輸入,推薦兩個

==Emoji Shortcodes==

==Emoji Toolbar==

13。 跳脫字元

Markdown

中,我們 透過

識別符號

改變

文字顯示效果

現在我們希望它不作為識別符號,而是

作為字元本身呈現出來

(不具備改變文字顯示效果的功能,只是一個

普通字元

首先我們可以用前面介紹的

程式碼域

,因為程式碼模式的顯示效果就是原始碼

完全一致

還有一種方法,可以利用跳脫字元,在這些識別符號

前面

加上

反斜線

\

( 反斜線要緊貼在識別符號前面,

不能

空格

原理:

\

的作用是讓識別符號

轉義

變為一個

普通字元

,完成這個效果後,反斜線會

自動隱藏

隱藏後的反斜線僅在

原始碼

介面

可見

,在

渲染

介面

不可見

反斜線只

爭對識別符號

起作用,其他字元新增

\

\

不會自動隱藏

補充:

如果想給已經被加在識別符號前面,會自動隱藏的

\

顯示出來,可以在反斜線前面再加一個

\

,用它

自己來轉義自己

示例:

這裡緊跟在識別符號前面的反斜線\\*會被轉義成普通字元顯示出來,不會自動隱藏,且這段檔案會是斜體*

效果:

這裡緊跟在識別符號前面的 反斜線\

會被轉義成普通字元顯示出來,不會自動隱藏,且這段檔案會是斜體

例1 以普通字元顯示星號

如何讓被一對或多對

*

號 包裹的文字內容,能夠正常顯示

*

,且文字不改變格式

\*這段文字被一對星號包裹,但不會傾斜\*

效果:

*這段文字被1對星號包裹,但不會傾斜*

\*\*這段文字被2對星號包裹,但不會加粗\*\*

效果:

**這段文字被2對星號包裹,但不會加粗**

\*\*\*這段文字被3對星號包裹,但它既不傾斜也不加粗\*\*\*

效果:

***這段文字被3對星號包裹,但它既不傾斜也不加粗***

例2 表格內 單元格中的豎槓

在表格中,使用

|

作為單元格的內容,但

不會

被識別為

表格的結構

,不會增加額外的單元格

|表頭1|表頭2|

|-|-|

|這裡的文字被\|分隔|這裡的文字也被\|分隔|

效果:

| 表頭1 | 表頭2 | |:——————————:|:——————————:| | 這裡的文字被\|分隔 | 這裡的文字也被\|分隔 |

補充 該技巧可用於

Obsidian

表格內 雙鏈的文字修飾

文字修飾:

在 雙鏈

[[ ]]

內 以

|

引導的內容 -

格式:

[[連結的內容|文字修飾]]

-

說明:

文字修飾是渲染介面實際顯示的文字,便於更好地融入語境

表格內的格式:

|

前面加上

\

-

[[表格內的連結內容\|文字修飾]]

示例:

| 表頭1 | 表頭2 |

|:————————————————————-:|:——————————————————————————-:|

| [[#例2 表格內 單元格中的豎槓\|單元格中的豎槓]] | [[#例3 不會變成程式碼的反引號\|不會變成程式碼的反引號]] |

效果:

| 表頭1 | 表頭2 | |:————————————————————-:|:——————————————————————————-:| | [[#例2 表格內 單元格中的豎槓\|單元格中的豎槓]] | [[#例3 不會變成程式碼的反引號\|不會變成程式碼的反引號]] |

例3 不會變成程式碼的反引號

使用 轉義符號

\

讓 反引號

`

變成普通字元,不再具有[[#7 1 行內程式碼|行內程式碼]]的識別符號功能

格式:

\`這段被反引號包裹的內容不會變成行內程式碼\`

效果:

`這段被反引號包裹的內容不會變成行內程式碼`

例4 連結中的中括號

網頁連結

顯示文字內容

中,使用

中括號

[ ]

在顯示文字內容中,在其中一箇中括號前面,加上

轉義符號

反斜槓

\

格式:

[連結裡的 \[中括號\] 能被正常顯示](https://www.runoob.com)

效果:

連結裡的 [中括號] 能被正常顯示

例5 不是列表的連線符(橫槓)

引用一段話,一般會在換行之後,加上

- 出處

因為

-

是識別符號,會變成一個無序列表

如下所示:

The Web, the Tree, and the String。 寫作之難,在於把網狀的思考,用樹狀結構,體現線上性展開的語句裡。 - 史蒂芬·平克

解決方法:

-

前面加上 轉義符號

\

```md

The Web, the Tree, and the String。 寫作之難,在於把網狀的思考,用樹狀結構,體現線上性展開的語句裡。 - 史蒂芬·平克 ```

效果:

The Web, the Tree, and the String。 寫作之難,在於把網狀的思考,用樹狀結構,體現線上性展開的語句裡。 - 史蒂芬·平克

例6 不是標題的 \

#

不被識別為標題識別符號

格式:

\# 這裡的內容不會被識別為標題

效果:

# 這裡的內容不會被識別為標題

例7 不會註釋的 \%

Obsidian

中 註釋是前後各兩個

%

使用 轉義符號

\

,讓

%%

作為普通字元顯示出來,不具備註釋的功能

格式:

\%\%這裡的內容可以被顯示喔\%\%

效果:

\%\%這裡的內容可以被顯示喔\%\%

例8 木有連結的雙鏈

Obsidian

的雙向鏈格式是2個方括號

[[ ]]

(雙方),使用 轉義符號

\

,讓

不再具有 雙鏈功能

格式:

\[\[這段文字被雙方包裹,但不是一個雙向鏈\]\]

效果:

[[這段文字被雙方包裹,但不是一個雙向鏈]]

例9 頁連結裡 顯示文字內的 中括號

使用轉義符號

\

,讓

中括號

可以作為

顯示文字

在[[#5 1 網頁連結|網頁連結]]中顯示出來

格式:

[\[這是一個帶中括號的網頁連結顯示文字,點選會跳轉至百度\]](https://www。baidu。com/)

效果:

[這是一個帶中括號的網頁連結顯示文字,點選會跳轉至百度]

特殊情況 文字修飾的中括號

文字修飾的 中括號

[ ]

不需要

使用 轉義符號

\

示範:

[[#例8 木有連結的雙鏈|[這是一個帶中括號的文字修飾]]]

效果:

[[#例8 木有連結的雙鏈|[這是一個帶中括號的文字修飾]]]

14。 空格&換行&強制刪除

14。1 空格

在一些編輯器或者支援MD的筆記軟體裡,無論你打多少個

空格

,它只會顯示單個

空格

的距離

可以使用 HTML中

空格

字元實體

——

 

若要新增

多個

空格,就輸入多個 ——

       

格式:

這裡有      6個空格分隔

效果:

這裡有 6個空格分隔

14。2 換行

場景1:

- 在一些編輯器或者支援MD的筆記軟體裡,無論你打多少個

回車

,它只會顯示單個

回車

的空行間距 - 可以使用之前表格裡提到的

<br>

標籤,在

單獨一行

中使用,增加額外的空行間距 - 如果要增加

多個

,就輸入

多個

——

<br><br><br><br><br>

- #注意 當單獨一行使用


標籤的時候,如果前後有標題識別符號或者列表識別符號,確保

br元素

前後兩行都是空白行

格式:

這裡是第一段文字






<!—— 這裡插入了5個空行間距 ——>

這裡是第二段文字

效果:

這裡是第一段文字

這裡是第二段文字

場景2:

- 在列表中也可以插入換行符

- 這是一段無序列表


<!—— 插入一個空行間距,需單獨一行,上下不用預留空格 ——>

這是同一段無序列表中,空一行距離顯示的內容

- 這是第二段無序列表

效果:

- 這裡是第一段無序列表

這裡是同一段無序列表中,空一行距離顯示的內容 - 這裡是第二段無序列表

補充:

有一些MD編輯器或筆記軟體,嚴格遵循MD的換行規則,你敲一個回車是沒法換行的,必須在

行末

2個空格

,再按回車鍵

格式:

這裡是一段想換行的文字空格 空格 Enter 這是換行後的文字

14。3 強制刪除

很多編輯器都有英文標點自動補全功能,自動生成一對,游標落在中間 只想刪除前面1個,卻會把

一整對

都刪掉

在多個列表的巢狀中,也許會遇到一些

無法被刪除

列表識別符號

解決方法:

使用

Shift

+

Backspace

即可強制刪除

Bcakspace

( 退格鍵 )

15。 嵌入

嵌入都是依賴

HTML標籤

實現的,嵌入的都是

線上

連結格式

如果是本地的,

Obsidian

中音訊是有自帶的可錄製的錄音機外掛的,其他的

音訊、影片

直接複製黏貼就可以了,也可以直接拖拽到OB的筆記介面

其他的媒體檔案在

Obsidian

也和圖片一樣,以

雙鏈

的格式引用在目標筆記中,使用

!

使它可見

15。1 嵌入音訊

格式:

<audio controls="controls" preload="none" alt="Obsidian教程一" data-isLoading="0" src="/static/img/blank.gif" data-src="音訊連結地址"></audio>

示例:

<

audio

controls

=

“controls”

preload

=

“none”

src

=

“https://www。ldoceonline。com/media/english/exaProns/p008-001803372。mp3?version=1。2。37”

>

audio

>

效果:

15。2 嵌入影片

格式:

<

video

width

=

“600”

height

=

“420”

controls

>

<

source

src

=

“movie。mp4”

type

=

“video/mp4”

>

<

source

src

=

“movie。ogg”

type

=

“video/ogg”

>

<

source

src

=

“movie。webm”

type

=

“video/webm”

>

video

>

說明:

width ( 寬度 ) height ( 高度 ) ,可以自己設定,直接輸入數字即可,單位預設是 px(畫素) 也可以使用

百分比

width=100%

代表水平撐滿整個視窗

height=50%

代表垂直撐滿半個視窗

Video標籤

支援的影片格式 :MP4 ogg webm

15。3 嵌入頁面

格式:

<iframe width=600 height=400 alt="Obsidian教程一" data-isLoading="0" src="/static/img/blank.gif" data-src="頁面連結地址" scrolling="auto" border="0" frameborder="no" framespacing="0" allowfullscreen="true"> </iframe>

html

效果:

iframe標籤

除了嵌入頁面,也可以嵌入

線上影片

,主流的影片網站都會提供

嵌入程式碼

具體可以看這個 iframe影片嵌入教程

B站

的影片,得在

//

前面補充

http:

不是所有的 編輯器和筆記軟體 都支援這個

示例:

<

iframe

width

=

600

height

=

400

src

=

“http://player。bilibili。com/player。html?aid=20190823&bvid=BV1yW411s7og&cid=32964980&page=1”

scrolling

=

“no”

border

=

“0”

frameborder

=

“no”

framespacing

=

“0”

allowfullscreen

=

“true”

>

iframe

>

寬高設定和前面的

video

一樣

效果:

16。 Latex 數學公式

主要用於

數學公式

化學公式

的書寫

16。1 行內公式

格式:

$

+ 行內公式 +

$

示例:

$x^2 + 2x + 5 + \sqrt x = 0$

$\ce{CO2 + C -> 2 CO}$

$\ce{CO2 + C -> 2 CO}$

$\ce{2Mg + O2 ->[燃燒] 2 MgO}$

效果:

$x^2 + 2x + 5 + \sqrt x = 0$

$e^{i\pi} + 1 = 0$

$\ce{CO2 + C -> 2 CO}$

$\ce{2Mg + O2 ->[燃燒] 2 MgO}$

16。2 公式塊

格式:

$$

公式塊

$$

示例:

% 化學公式

$$

\ce{Zn^2+ <=>[+ 2OH-][+ 2H+] $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$}

$$

% 麥克斯韋方程組

$$

\begin{array}{lll}

\nabla\times E &=& -\;\frac{\partial{B}}{\partial{t}}

\ \nabla\times H &=& \frac{\partial{D}}{\partial{t}}+J

\ \nabla\cdot D &=& \rho

\ \nabla\cdot B &=& 0

\ \end{array}

$$

% 薛定諤方程

$$

i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2} \right) \psi + V \psi

$$

效果:

$$ % 化學公式 \ce{Zn^2+ <=>[+ 2OH-][+ 2H+] $\underset{\text{amphoteres Hydroxid}}{\ce{Zn(OH)2 v}}$ <=>[+ 2OH-][+ 2H+] $\underset{\text{Hydroxozikat}}{\ce{[Zn(OH)4]^2-}}$} $$

$$ % 麥克斯韋方程組 \begin{array}{lll} \nabla\times E &=& -\;\frac{\partial{B}}{\partial{t}}

\ \nabla\times H &=& \frac{\partial{D}}{\partial{t}}+J

\ \nabla\cdot D &=& \rho \ \nabla\cdot B &=& 0 \ \end{array} $$

$$ i\hbar\frac{\partial \psi}{\partial t} = \frac{-\hbar^2}{2m} \left(\frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}+\frac{\partial^2}{\partial z^2} \right) \psi + V \psi $$

補充:

需要詳細教程的,可戳下方連結

Latex詳細教程

17。 Mermaid

一些

MD編輯器

筆記軟體

支援透過

Mermaid

及其所提供的 編譯器 來為使用者提供圖表的繪製功能

這裡只提供一些演示的圖表,具體教程可戳下方

[[MOC Mermiad 教程 Obsidian版| Mermiad 超級教程 Obsidian版]]

17。1 流程圖

原始碼1:

```mermaid

graph TB

%% s=start e=end f=fork n=normal

s([開始])——>f1{{if條件}};

%% 分支點2

f1——true——>n1[if語句塊]——>e([結束]);

f1——false——>f2{{else if條件}};

%% 分支點1

f2——true——>n2[else if語句塊]——>e;

f2——false——>n3[else語句塊]——>e;

```

渲染1:

graph TB

%% s=start e=end f=fork n=normal

s([開始])——>f1{{if條件}};

%% 分支點1

f1——true——>n1[if語句塊]——>e([結束]);

f1——false——>f2{{else if條件}};

%% 分支點2

f2——true——>n2[else if語句塊]——>e;

f2——false——>n3[else語句塊]——>e;

原始碼2:

```mermaid

graph LR

%% s=start e=end f= fork n=normal

%% 虛線

s[朱百六]-。->|子|n1[朱四九]-。->|子|n2[朱五四]-。->|子|f1_帝((朱八八))

%% 分支點 朱八八

f1_帝——>|長子|f2[朱標]

f1_帝——>|次子|n3[朱樉]

f1_帝——>|三子|n4[朱棢]

f1_帝——>|四子|n5_帝((朱棣))

%% 分支點 朱標

f2——>|長子|e1[朱雄英]

f2——>|次子|e2_帝((朱允炆))

n5_帝——>|長子|e3[朱高熾]

```

渲染2:

graph LR

%% s=start e=end f= fork n=normal

%% 虛線

s[朱百六]-。->|子|n1[朱四九]-。->|子|n2[朱五四]-。->|子|f1_帝((朱八八))

%% 分支點 朱八八

f1_帝——>|長子|f2[朱標]

f1_帝——>|次子|n3[朱樉]

f1_帝——>|三子|n4[朱棢]

f1_帝——>|四子|n5_帝((朱棣))

%% 分支點 朱標

f2——>|長子|e1[朱雄英]

f2——>|次子|e2_帝((朱允炆))

n5_帝——>|長子|e3[朱高熾]

17。2 餅圖

原始碼:

```mermaid

pie

title 為什麼總是宅在家裡?

“喜歡宅” : 45

“天氣太熱” : 70

“窮” : 500

“關你屁事” : 95

```

渲染:

pie

title 為什麼總是宅在家裡?

“喜歡宅” : 45

“天氣太熱” : 70

“窮” : 500

“關你屁事” : 95

17。3 序列圖 (時序圖)

原始碼:

```mermaid

sequenceDiagram

%% 自動編號

autonumber

%% 定義參與者並取別名,aliases:別名

participant A as Aly

participant B as Bob

participant C as CofCai

%% 便籤說明

Note left of A: 只複習了一部分

Note right of B: 沒複習

Note over A,B: are contacting

A->>B: 明天是要考試嗎?

B——>>A: 好像是的!

%% 顯示並行發生的動作,parallel:平行

%% par [action1]

rect rgb(0, 25, 155)

par askA

C ——>> A:你複習好了嗎?

and askB

C ——>> B:你複習好了嗎?

and self

C ->>C:我還沒準備複習……

end

end

%% 背景高亮,提供一個有顏色的背景矩形

rect rgb(25, 55, 0)

loop 自問/Every min

%%
可以換行

C ->> C:我什麼時候
開始複習呢?

end

end

%% 可選擇路徑

rect rgb(153, 83, 60)

alt is good

A ->> C:複習了一點

else is common

B ->> C:我也是

end

%% 沒有else時可以提供預設的opt

opt Extra response

C ->> C:你們怎麼不回答我

end

endsequenceDiagram

%% 自動編號

autonumber

%% 定義參與者並取別名,aliases:別名

participant A as Aly

participant B as Bob

participant C as CofCai

%% 便籤說明

Note left of A: 只複習了一部分

Note right of B: 沒複習

Note over A,B: are contacting

A->>B: 明天是要考試嗎?

B——>>A: 好像是的!

%% 顯示並行發生的動作,parallel:平行

%% par [action1]

rect rgb(0, 25, 155)

par askA

C ——>> A:你複習好了嗎?

and askB

C ——>> B:你複習好了嗎?

and self

C ->>C:我還沒準備複習……

end

end

%% 背景高亮,提供一個有顏色的背景矩形

rect rgb(25, 55, 0)

loop 自問/Every min

%%
可以換行

C ->> C:我什麼時候
開始複習呢?

end

end

%% 可選擇路徑

rect rgb(153, 83, 60)

alt is good

A ->> C:複習了一點

else is common

B ->> C:我也是

end

%% 沒有else時可以提供預設的opt

opt Extra response

C ->> C:你們怎麼不回答我

end

end

```

渲染:

sequenceDiagram

%% 自動編號

autonumber

%% 定義參與者並取別名,aliases:別名

participant A as Aly

participant B as Bob

participant C as CofCai

%% 便籤說明

Note left of A: 只複習了一部分

Note right of B: 沒複習

Note over A,B: are contacting

A->>B: 明天是要考試嗎?

B——>>A: 好像是的!

%% 顯示並行發生的動作,parallel:平行

%% par [action1]

rect rgb(0, 25, 155)

par askA

C ——>> A:你複習好了嗎?

and askB

C ——>> B:你複習好了嗎?

and self

C ->>C:我還沒準備複習……

end

end

%% 背景高亮,提供一個有顏色的背景矩形

rect rgb(25, 55, 0)

loop 自問/Every min

%%
可以換行

C ->> C:我什麼時候
開始複習呢?

end

end

%% 可選擇路徑

rect rgb(153, 83, 60)

alt is good

A ->> C:複習了一點

else is common

B ->> C:我也是

end

%% 沒有else時可以提供預設的opt

opt Extra response

C ->> C:你們怎麼不回答我

end

end

17。4 甘特圖

原始碼:

```mermaid

gantt

title A Gantt Diagram

dateFormat YYYY-MM-DD

section Section

A task :a1, 2014-01-01, 30d

Another task :after a1 , 20d

section Another

Task in sec :2014-01-12 , 12d

another task : 24d

```

渲染:

gantt

title A Gantt Diagram

dateFormat YYYY-MM-DD

section Section

A task :a1, 2014-01-01, 30d

Another task :after a1 , 20d

section Another

Task in sec :2014-01-12 , 12d

another task : 24d

17。5 類圖

原始碼:

```mermaid

classDiagram

Animal <|—— Duck

Animal <|—— Fish

Animal <|—— Zebra

Animal : +int age

Animal : +String gender

Animal: +isMammal()

Animal: +mate()

class Duck{

+String beakColor

+swim()

+quack()

}

class Fish{

-int sizeInFeet

-canEat()

}

class Zebra{

+bool is_wild

+run()

}

```

渲染:

classDiagram

Animal <|—— Duck

Animal <|—— Fish

Animal <|—— Zebra

Animal : +int age

Animal : +String gender

Animal: +isMammal()

Animal: +mate()

class Duck{

+String beakColor

+swim()

+quack()

}

class Fish{

-int sizeInFeet

-canEat()

}

class Zebra{

+bool is_wild

+run()

}

18。 標籤 (Tag)

標籤是

Obsidian

特有的一個功能,標籤可以透過點選喚起快速搜尋 (搜尋包含該標籤的所有筆記)

格式:

-

#

+

標籤名

-

#標籤名

關於空格

在一段正文文字的後面新增 Tag,

#

前面

需要有個空格

空格

+

#

+ 標籤名

# 與 標籤名

之間

不能

有空格,否則就變成 一級標題 了

標籤名的

內部

不允許

使用空格,若想區分標籤中的詞語,可使用以下

三種

方法:

駝峰式大小寫:

#BlueTopaz

下劃線:

#blue_topaz

連字元:

#blue-topaz

關於數字

標籤內允許使用數字,但不能完全由數字組成

#1984

#1984Date

#da_1984_te

#date-1984

標籤的巢狀

在標籤名內,使用

/

斜槓 可以實現標籤的巢狀

格式:

-

#主標籤/子標籤1

-

#主標籤/子標籤2

-

#主標籤/子標籤3

巢狀標籤可以像普通標籤一樣透過點選來喚起搜尋,巢狀標籤允許你選擇搜尋的層次。

例如:

- 搜尋

#主標籤

,即可找到包含任意一個子標籤的所有筆記 - 返回的結果會是上述的三個例子 - 當你在一個主分類下設定了多個子分類,想找到這個主分類包含的所有內容時,該功能會很實用

能被使用的符號

綜上所述,標籤內能被使用的符號共有三種

_

下劃線

-

連字元

/

斜槓

如何讓 # 不被識別

可以使用前面提到的轉義符號

\

反斜槓,與上述的 轉義標題 類似

格式:

\#這裡的內容不會被識別為標籤

效果:

#這裡的內容不會被識別為標籤

19。 避免識別符號的濫用

即使在

Markdown

中,也要儘量

避免

識別符號的濫用

比如我的這篇教程,就存在一定程度的濫用 - 其實是因為我這篇是教學性質的,不太一樣,有些不能避免 -

(好吧,我就是在甩鍋)

識別符號的本質是突出顯示,代表

重點

- 一篇筆記裡的某段文字,使用

各式各樣的

的識別符號,會造成

重點不清晰

三種

標識,

慎用

1。 詞中對

單個漢字

的標識 1。 臥==虎==藏==龍== 2。 短語中對

單個英語單詞

的標識 1。 get a ==bang== out of 3。 識別符號的

多層巢狀

1。

我感覺快要==原地起飛==了

原因:

- 詞義的割裂 - 視覺的混亂 - 不利於搜尋 -

臥==虎==藏==龍==

- 搜

臥虎

—— 搜不到 - 搜

藏龍

—— 搜不到

標簽: 文字  列表  斜體  粗體  格式