name: obsidian-markdown description: 创建和编辑 Obsidian 风味 Markdown,包括 wikilinks、embeds、callouts、properties 和其他 Obsidian 特定语法。在 Obsidian 中处理 .md 文件时使用,或当用户提到 wikilinks、callouts、frontmatter、tags、embeds 或 Obsidian 笔记时使用。
Obsidian 风味 Markdown 技能
这个技能使兼容技能的代理能够创建和编辑有效的 Obsidian 风味 Markdown,包括所有 Obsidian 特定的语法扩展。
概述
Obsidian 使用以下 Markdown 风味的组合:
- CommonMark
- GitHub Flavored Markdown
- LaTeX 用于数学
- Obsidian 特定扩展(wikilinks、callouts、embeds 等)
基本格式
段落和换行
这是一个段落。
这是另一个段落(空白行之间创建单独的段落)。
在段落内换行,在末尾添加两个空格
或使用 Shift+Enter。
标题
# 标题 1
## 标题 2
### 标题 3
#### 标题 4
##### 标题 5
###### 标题 6
文本格式
| 样式 | 语法 | 示例 | 输出 |
|---|---|---|---|
| 粗体 | **文本** 或 __文本__ |
**粗体** |
粗体 |
| 斜体 | *文本* 或 _文本_ |
*斜体* |
斜体 |
| 粗体 + 斜体 | ***文本*** |
***两者*** |
两者 |
| 删除线 | ~~文本~~ |
~~删除~~ |
|
| 高亮 | ==文本== |
==高亮== |
==高亮== |
| 内联代码 | `代码` |
`代码` |
代码 |
转义格式
使用反斜杠转义特殊字符:
\*这不会是斜体\*
\#这不会是标题
1\. 这不会是列表项
常用转义字符:\*, \_, \#, \`, \|, \~
内部链接(Wikilinks)
基本链接
[[笔记名称]]
[[笔记名称.md]]
[[笔记名称|显示文本]]
链接到标题
[[笔记名称#标题]]
[[笔记名称#标题|自定义文本]]
[[#同一笔记中的标题]]
[[##搜索金库中的所有标题]]
链接到区块
[[笔记名称#^区块-id]]
[[笔记名称#^区块-id|自定义文本]]
定义区块 ID 通过在段落末尾添加 ^区块-id:
这是一个可以链接到的段落。 ^我的区块-id
对于列表和引用,在单独行添加区块 ID:
> 这是一个引用
> 有多行
^引用-id
搜索链接
[[##标题]] 搜索包含“标题”的标题
[[^^区块]] 搜索包含“区块”的区块
Markdown 风格链接
[显示文本](笔记%20名称.md)
[显示文本](笔记%20名称.md#标题)
[显示文本](https://example.com)
[笔记](obsidian://open?vault=金库名称&file=笔记.md)
注意:在 Markdown 链接中,空格必须 URL 编码为 %20。
嵌入
嵌入笔记
![[笔记名称]]
![[笔记名称#标题]]
![[笔记名称#^区块-id]]
嵌入图片
![[图片.png]]
![[图片.png|640x480]] 宽度 x 高度
![[图片.png|300]] 仅宽度(保持宽高比)
外部图片


嵌入音频
![[音频.mp3]]
![[音频.ogg]]
嵌入 PDF
![[文档.pdf]]
![[文档.pdf#page=3]]
![[文档.pdf#height=400]]
嵌入列表
![[笔记#^列表-id]]
其中列表已用区块 ID 定义:
- 项目 1
- 项目 2
- 项目 3
^列表-id
嵌入搜索结果
```query
标签:#项目 状态:完成
```
标注
基本标注
> [!note]
> 这是一个笔记标注。
> [!info] 自定义标题
> 这个标注有自定义标题。
> [!tip] 仅标题
可折叠标注
> [!faq]- 默认折叠
> 此内容在展开前隐藏。
> [!faq]+ 默认展开
> 此内容可见但可折叠。
嵌套标注
> [!question] 外部标注
> > [!note] 内部标注
> > 嵌套内容
支持的标注类型
| 类型 | 别名 | 描述 |
|---|---|---|
note |
- | 蓝色,铅笔图标 |
abstract |
summary, tldr |
青色,剪贴板图标 |
info |
- | 蓝色,信息图标 |
todo |
- | 蓝色,复选框图标 |
tip |
hint, important |
青色,火焰图标 |
success |
check, done |
绿色,勾选图标 |
question |
help, faq |
黄色,问号图标 |
warning |
caution, attention |
橙色,警告图标 |
failure |
fail, missing |
红色,X 图标 |
danger |
error |
红色,闪电图标 |
bug |
- | 红色,错误图标 |
example |
- | 紫色,列表图标 |
quote |
cite |
灰色,引用图标 |
自定义标注(CSS)
.callout[data-callout="自定义类型"] {
--callout-color: 255, 0, 0;
--callout-icon: lucide-alert-circle;
}
列表
无序列表
- 项目 1
- 项目 2
- 嵌套项目
- 另一个嵌套
- 项目 3
* 星号也可用
+ 或加号
有序列表
1. 第一项
2. 第二项
1. 嵌套编号
2. 另一个嵌套
3. 第三项
1) 替代语法
2) 带括号
任务列表
- [ ] 未完成任务
- [x] 已完成任务
- [ ] 带子任务的任务
- [ ] 子任务 1
- [x] 子任务 2
引用
> 这是一个块引用。
> 可以跨多行。
>
> 并包含多个段落。
>
> > 嵌套引用也适用。
代码
内联代码
使用 `反引号` 进行内联代码。
使用双反引号进行 ``包含 ` 反引号的代码``。
代码块
```
普通代码块
```
```javascript
// 语法高亮代码块
function hello() {
console.log("Hello, world!");
}
```
```python
# Python 示例
def greet(name):
print(f"Hello, {name}!")
```
嵌套代码块
对外部块使用更多反引号或波浪号:
````markdown
这是如何创建代码块:
```js
console.log("Hello")
```
````
表格
| 标题 1 | 标题 2 | 标题 3 |
|----------|----------|----------|
| 单元格 1 | 单元格 2 | 单元格 3 |
| 单元格 4 | 单元格 5 | 单元格 6 |
对齐
| 左对齐 | 居中对齐 | 右对齐 |
|:---------|:--------:|---------:|
| 左对齐 | 居中对齐 | 右对齐 |
在表格中使用管道符
用反斜杠转义管道符:
| 列 1 | 列 2 |
|----------|----------|
| [[链接\|显示]] | ![[图片\|100]] |
数学(LaTeX)
内联数学
这是内联数学:$e^{i\pi} + 1 = 0$
块数学
$$
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix} = ad - bc
$$
常见数学语法
$x^2$ 上标
$x_i$ 下标
$\frac{a}{b}$ 分数
$\sqrt{x}$ 平方根
$\sum_{i=1}^{n}$ 求和
$\int_a^b$ 积分
$\alpha, \beta$ 希腊字母
图表(Mermaid)
```mermaid
graph TD
A[开始] --> B{决策}
B -->|是| C[执行此]
B -->|否| D[执行彼]
C --> E[结束]
D --> E
```
序列图
```mermaid
sequenceDiagram
Alice->>Bob: 你好 Bob
Bob-->>Alice: 你好 Alice
```
在图表中链接
```mermaid
graph TD
A[生物学]
B[化学]
A --> B
class A,B 内部链接;
```
脚注
这个句子有一个脚注[^1]。
[^1]: 这是脚注内容。
你也可以使用命名脚注[^note]。
[^note]: 命名脚注仍显示为数字。
也支持内联脚注。^[这是一个内联脚注。]
注释
这是可见 %%但这是隐藏%% 文本。
%%
这整个块是隐藏的。
在阅读视图中不会出现。
%%
水平线
---
***
___
- - -
* * *
属性(Frontmatter)
属性使用 YAML frontmatter 在笔记开头:
---
title: 我的笔记标题
date: 2024-01-15
tags:
- 项目
- 重要
aliases:
- 我的笔记
- 替代名称
cssclasses:
- 自定义类
status: 进行中
rating: 4.5
completed: false
due: 2024-02-01T14:30:00
---
属性类型
| 类型 | 示例 |
|---|---|
| 文本 | title: 我的标题 |
| 数字 | rating: 4.5 |
| 复选框 | completed: true |
| 日期 | date: 2024-01-15 |
| 日期和时间 | due: 2024-01-15T14:30:00 |
| 列表 | tags: [一, 二] 或 YAML 列表 |
| 链接 | related: "[[其他笔记]]" |
默认属性
tags- 笔记标签aliases- 笔记的替代名称cssclasses- 应用于笔记的 CSS 类
标签
#标签
#嵌套/标签
#带连字符的标签
#带下划线的标签
在 frontmatter 中:
---
tags:
- 标签1
- 嵌套/标签2
---
标签可包含:
- 字母(任何语言)
- 数字(不能作为第一个字符)
- 下划线
_ - 连字符
- - 正斜杠
/(用于嵌套)
HTML 内容
Obsidian 支持在 Markdown 中使用 HTML:
<div class="自定义容器">
<span style="color: red;">彩色文本</span>
</div>
<details>
<summary>点击展开</summary>
隐藏内容在这里。
</details>
<kbd>Ctrl</kbd> + <kbd>C</kbd>
完整示例
---
title: 项目 Alpha
date: 2024-01-15
tags:
- 项目
- 活动
status: 进行中
priority: 高
---
# 项目 Alpha
## 概述
这个项目旨在使用现代技术[[改进工作流程]]。
> [!important] 关键截止日期
> 第一个里程碑定于 ==1月30日==。
## 任务
- [x] 初始规划
- [x] 资源分配
- [ ] 开发阶段
- [ ] 后端实现
- [ ] 前端设计
- [ ] 测试
- [ ] 部署
## 技术笔记
主要算法使用公式 $O(n \log n)$ 进行排序。
```python
def process_data(items):
return sorted(items, key=lambda x: x.priority)
```
## 架构
```mermaid
graph LR
A[输入] --> B[处理]
B --> C[输出]
B --> D[缓存]
```
## 相关文档
- ![[会议记录 2024-01-10#决策]]
- [[预算分配|预算]]
- [[团队成员]]
## 参考文献
更多细节,请参见官方文档[^1]。
[^1]: https://example.com/docs
%%
内部笔记:
- 周五与团队审查
- 考虑替代方法
%%