Obsidian 格式化笔记
基于 Markdown 轻量标记语法支持的 Obsidian 软件入门使用。
内部链接
Obsidian支持两种风格的内部链接:
- Wiki 链接风格:
[[运动三定律]]
- Markdown 链接风格:
[运动三定律](运动三定律.md)
[[格式化笔记]]
语法效果:[[格式化笔记]]
[格式化笔记](格式化笔记.md)
语法效果:格式化笔记
嵌入文件
在笔记中插入其他文件(更多细节请阅读嵌入文件)。这里演示如何插入一篇笔记的某个章节:
![[Obsidian#什么是 Obsidian]]
语法解读:
- 第一个
Obsidian
指当前所在库的 Obsidian 文件,#
匹配对应文件的章节标题。
![[Obsidian#什么是 Obsidian]]
介绍更多Obsidian嵌入细节。
嵌入文件细节
可以将图片或音频等附件嵌入到笔记中。嵌入文件的语法格式:![[文件名.png]]
。
例如:![[res/Pasted image 20240109205907.png|700x400]]
也可以将pdf文件嵌入到笔记中,可以指定pdf文件嵌入的页码,语法格式:![[My File.pdf#page=number]]
。
例如:[[res/《Python Cookbook》第三版中文.pdf#page=2]]
当你拖动图片到笔记中时,图片会自动嵌入笔记,并且 Obsidian 会将图片文件复制到默认的附件文件夹中。Obsidian 支持几种图片格式,因此大多数情况下你都可以在文件列表中的附件文件夹中选择并查看图片。也可以通过相同的语法将一篇笔记嵌入另一篇笔记中。
目前Obsidian 支持以下格式的文件:
- Markdown 文件:
md
; - 图像文件:
png
,jpg
,jpeg
,gif
,bmp
,svg
; - 音频文件:
mp3
,webm
,wav
,m4a
,ogg
,3gp
,flac
; - 视频文件:
mp4
,webm
,ogv
; - PDF 文件:
pdf
.
以上类型都可以内嵌文件,语法格式:![[内嵌文件]]
链接格式
在Obsidain中,创建链接的方法如下:
- 链接到整篇目标文稿
[[目标文稿]]
- 链接到目标文稿的某个标题
[[目标文稿#目标标题]]
- 链接到目标文稿的某个段落
[[目标文稿^目标段落]]
- 给链接重命名:在链接的最后用
|
分割, 然后在|
后指定链接的标题 - 决定链接是否显示 : 在链接前加 !
- 可以创建空链接,做好思维联想
综上所述,Obsidian的链接格式为: (!)[[目标文稿(#目标标题) (^目标段落) (|链接名称)]]
参考:
注意:目标标题和目标段落是同一级别的,若要链接到目标文档的某个段落,
#
后跟的内容为空,然后使用^
后跟段落内容(或在链接到目标文档后直接输入^
,根据页面提示选择对应段落内容会显示成一个字符串标记)。例如:[[NoSQL入门#^00c5ae|认证口令]]
外部链接
如果要链接到外部URL,可以通过在方括号([ ]
)中填入描述链接的文本,然后在括号中(()
)添加URL来创建内联链接。
[Obsidian帮助](https://help.obsidian.md)
也可以通过Obsidian URI创建指向其他仓库的文件的外部链接。
[笔记](obsidian://open?vault=主仓库&file=笔记.md)
在链接中转义空格
如果你的URL包含空格,必须用 %20
替换它们。
[我的 笔记](obsidian://open?vault=主仓库&file=我的%20笔记.md)
你也可以用尖括号(< >
)包裹URL进行转义。
[我的 笔记](<obsidian://open?vault=主仓库&file=我的 笔记.md>)
插入图片
可以通过在外部链接前加上 !
符号来在笔记中插入外部图片。在链接的锚文本中添加 |640x480
来更改图片尺寸,其中640是宽度,480是高度。如果只指定了宽度,图片会根据原始长宽比进行缩放。
注意,指定图片尺寸中的
x
是小写,大写无效。
例如,插入图片并调整像素宽度:

HTML <img>
标签格式:
<img src="" width="90%">

iframe
Markdown兼容HTML,因此可以使用“iframe”将网页嵌入到笔记中,使用 iframe 嵌入网页的基本语法为:
<iframe src="网页地址" width="80%" height="400px"></iframe>
比如:
一些网站并不允许你直接嵌入它们的页面。比如,你就不能通过 YouTube 视频页面的 URL 来嵌入该页面。但是,这些网站一般都提供了用于嵌入的 URL,比如你可以通过 https://www.youtube.com/embed/VIDEO_ID
这样的专用 URL 来嵌入 YouTube 的视频页面。
如果你想嵌入一个网站,可以尝试在搜索引擎上 {网页名} 嵌入 iframe
等关键词,这样能帮助你更快速的嵌入某个网站。
比如,你可以利用搜索结果给出的代码快速插入 Twitter:
<iframe
border=0
frameborder=0
height=250
width=550
src="https://twitframe.com/show?url=https%3A%2F%2Ftwitter.com%2Fjack%2Fstatus%2F20">
</iframe>
标题
创建小标题,在小标题文本前添加至多六个 #
符号。#
符号的数量决定了小标题的级别。
# 这是标题 1
## 这是标题 2
### 这是标题 3
#### 这是标题 4
##### 这是标题 5
###### 这是标题 6
这是标题 1
这是标题 2
这是标题 3
这是标题 4
这是标题 5
这是标题 6
强调字体
斜体 斜体
*斜体* _斜体_
粗体
__粗体__
粗斜体
***粗体***
列表
在文本前加上 -
、*
或 +
来创建无序列表。
- 项目
- 项目
- 二级
- 二级
效果如下:
- 项目
- 项目
- 二级
- 二级
+ 项目 3
+ 项目 4
效果如下:
- 项目 3
- 项目 4
* 项目 5
* 项目 6
效果如下:
- 项目 5
- 项目 6
创建有序列表,每行以数字加上 .
开头。
1. 项目 1
2. 项目 2
效果如下:
- 项目 1
- 项目 2
转义
如果url中含有空格的话,空格需要转义为%20,如:
[Export options](Pasted%20image)
也可以用<>将有空格的url包含起来,如:
[Export options](<Pasted image>)
引用
> Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.
\- Doug Engelbart, 1961
效果如下:
Human beings face ever more complex and urgent problems, and their effectiveness in dealing with these problems is a matter that is critical to the stability and continued progress of society.
- Doug Engelbart, 1961
其中,\
转义作用。
行内代码
一行中被 反引号
括起来的文字会以代码格式显示。
`反引号`
代码块
Obsidian 会将六个反引号括起来的内容识别为代码块,并将其按代码格式显示。代码块支持语法高亮功能,你可以在代码块的第一行(即开头处的反引号后)声明语言来使用特定的语法高亮。
代码块的语法高亮实际是使用 prismjs 来实现的,因此你可以到他们的网站 来查看其支持的语言。
function fancyAlert(arg) { if(arg) { $.facebox({div:'#foo'}) } }
如果你使用 Tab 键对段落进行缩进,这段文本在预览模式下也会被识别为代码块。
任务列表
- [ ] 支持 #标签 ,链接,样式
- [x] 要求包含列表标志(有序表无序表均可,比如
1.[x]
同样可以) - [x] 这也是一个已完成的项目(实际上你可以在其中使用任何字符,如:- [?])
表格
使用 -
来分割表格的标题行和内容行,使用 |
来指定不同的列:
推荐使用此方式,更兼容:
| 标题 | **标题2** |
| ----- | ------- |
| 单元格内容 | 单元格内容 |
效果如下:
标题 | 标题2 |
---|---|
单元格内容 | 单元格内容 |
列宽可以用冒号进行调整;列表中包含 |
,则需要对其进行转义(用 \|
代替 |
),以防止被错误识别为列分隔符:
| **标题1** | **标题2** |
| : | : |
| 列宽可以用冒号进行调整 | 对单元格中\|进行格式化 |
效果如下:
| 标题1 | 标题2 | | : | : | | 列宽可以用冒号进行调整 | 对单元格中|进行格式化 |
注意:列表前面不能紧跟正文内容
删除线
在文字两端加上波浪线会显示删除效果比如这样 原来如此
~~比如这样~~
高亮
使用两个等号对文本进行高亮操作:==文本==
==文本==
脚注
脚本的用法:只需要在段落中需要插入脚注的地方标注一个符号,再在段落后对该脚注进行解释即可。
比如这是一个简单的脚注 [^1]
:^1
比如这是一个长一些的脚注 [^长脚注]
:^长脚注
[^1]: 这是一个简单的脚注
[^长脚注]:在每一行的开头添加2个空格,
可以编写跨越多行的脚注。
[^注释]: 可以使用非数字来命名脚注。但渲染时,脚注仍然会显示为数字。这样可以更容易地识别脚注内容。你也可以使用行内脚注,如此效果:^[请注意符号^需要在方括号外]
可以编写跨越多行的脚注。 [^注释]: 可以使用非数字来命名脚注。但渲染时,脚注仍然会显示为数字。这样可以更容易地识别脚注内容。
你也可以使用行内脚注,如此效果:^[请注意符号^需要在方括号外]
你也可以使用行内脚注,如此效果:^[请注意符号^需要在方括号外]
注意:脚注说明需要与正文空一行!!
数学公式
使用 $...$
包围的行内公式和 $$...$$
包围的块级公式。
$$\begin{vmatrix}a&b\\ c & d \end{vmatrix}=ad-bc$$
效果如下: $$\begin{vmatrix}a&b\ c & d \end{vmatrix}=ad-bc$$
这里的公式使用的是 LaTeX 语法。
想了解更多有关语法的信息,请参阅MathJax 基础教程。
要查看支持的 MathJax 包列表,请参阅TeX/LaTeX 扩展列表。
兼容问题
Obsidian 中正常显示的 Latex 语法数学公式,在 GitHub 上有些公式未正常渲染:GitHub 支持使用 $...$
包围的行内公式和 $$...$$
包围的块级公式,但是在 $...$
前必须留有空格。
兼容 GitHub 渲染的特殊公式:
- 分组表达式:
$$
f(x) = p^x(1-p)^{1-x} = \\
\begin{cases}
p & \text{ if x = 1 } \\
q & \text{ if x = 0}
\end{cases}
$$
$$ f(x) = p^x(1-p)^{1-x} = \ \begin{cases} p & \text{ if x = 1 } \ q & \text{ if x = 0} \end{cases} $$
- 矩阵公式:
$$\begin{bmatrix}
a & b\\
c & d
\end{bmatrix}$$
$$\begin{bmatrix} a & b\ c & d \end{bmatrix}$$
- 居左对齐:
$$\begin{flalign}
& f(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}} &
\end{flalign}$$
$$\begin{flalign} & f(x)=\frac{1}{\sqrt{2\pi}}e^{-\frac{x^2}{2}} & \end{flalign}$$
- $\sum_{1}^{n}$ 和 $\prod_{1}^{n}$ 推荐使用块级公式,行内显示有偏差。
$\sum_{1}^{n}$ 和 $\prod_{1}^{n}$ 推荐使用块级公式,行内显示有偏差。
注释
所谓注释,指的是会在编辑模式中显示,但不会在预览模式中显示的内容。使用 %%
可以将内容变为注释。以下为语法:
这里是行内注释:
%%预览模式下不会显示%%
%%预览模式下不会显示%%
这里是多行注释:
%%
第一行
第二行
第三行
%%
%% 第一行 第二行 第三行 %%
图表
Obsidian通过Mermaid及其所提供的编译器来为用户提供图表的绘制功能。
要添加 Mermaid 图表,创建一个 mermaid
代码块。
sequenceDiagram
Alice->>+John: 你好 John,你好吗?
Alice->>+John: John,你能听到我吗?
John-->>-Alice: 嗨 Alice,我能听到你!
John-->>-Alice: 我感觉很好!
sequenceDiagram
Alice->>+John: 嗨,John,最近怎样?
Alice->>+John: John,听得到我说话吗?
John-->>-Alice: 嗨,Alice,我能听到!
John-->>-Alice: 最近不错!
参考
参考记数学公式.md