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
文本格式化
| 样式 | 语法 | 示例 | 输出 |
|---|---|---|---|
| 粗体 | **text** 或 __text__ |
**Bold** |
Bold |
| 斜体 | *text* 或 _text_ |
*Italic* |
Italic |
| 粗体 + 斜体 | ***text*** |
***Both*** |
Both |
| 删除线 | ~~text~~ |
~~Striked~~ |
|
| 高亮 | ==text== |
==Highlighted== |
==Highlighted== |
| 内联代码 | `code` |
`code` |
code |
转义格式化
使用反斜杠转义特殊字符:
\*This won't be italic\*
\#This won't be a heading
1\. This won't be a list item
常见需要转义的字符:\*, \_, \#, \`, \|, \~
内部链接(Wikilinks)
基本链接
[[笔记名称]]
[[笔记名称.md]]
[[笔记名称|显示文本]]
链接到标题
[[笔记名称#标题]]
[[笔记名称#标题|自定义文本]]
[[#同一笔记中的标题]]
[[##搜索保管库中的所有标题]]
链接到块
[[笔记名称#^块-id]]
[[笔记名称#^块-id|自定义文本]]
通过在一个段落的末尾添加 ^块-id 来定义一个块ID:
这是一个可以链接到的段落。 ^my-block-id
对于列表和引用,在一个单独的行上添加块ID:
> 这是一个引用
> 有多行
^quote-id
搜索链接
[[##heading]] 搜索包含“heading”的标题
[[^^block]] 搜索包含“block”的块
Markdown风格链接
[显示文本](Note%20Name.md)
[显示文本](Note%20Name.md#Heading)
[显示文本](https://example.com)
[笔记](obsidian://open?vault=VaultName&file=Note.md)
注意:在Markdown链接中,空格必须URL编码为 %20。
嵌入
嵌入笔记
![[笔记名称]]
![[笔记名称#标题]]
![[笔记名称#^块-id]]
嵌入图像
![[image.png]]
![[image.png|640x480]] 宽度 x 高度
![[image.png|300]] 仅宽度(保持宽高比)
外部图像


嵌入音频
![[audio.mp3]]
![[audio.ogg]]
嵌入PDF
![[document.pdf]]
![[document.pdf#page=3]]
![[document.pdf#height=400]]
嵌入列表
![[笔记#^列表-id]]
其中列表已用块ID定义:
- 项目 1
- 项目 2
- 项目 3
^列表-id
嵌入搜索结果
```query
tag:#project status:done
```
标注(Callouts)
基本标注
> [!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="custom-type"] {
--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 |
|----------|----------|
| [[Link\|Display]] | ![[Image\|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[Start] --> B{Decision}
B -->|Yes| C[Do this]
B -->|No| D[Do that]
C --> E[End]
D --> E
```
序列图
```mermaid
sequenceDiagram
Alice->>Bob: Hello Bob
Bob-->>Alice: Hi Alice
```
在图表中链接
```mermaid
graph TD
A[Biology]
B[Chemistry]
A --> B
class A,B internal-link;
```
脚注
这个句子有一个脚注[^1]。
[^1]: 这是脚注内容。
你也可以使用命名脚注[^note]。
[^note]: 命名脚注仍然显示为数字。
内联脚注也支持。^[这是一个内联脚注。]
注释
这是可见的 %%但这是隐藏的%% 文本。
%%
这个整个块是隐藏的。
它不会出现在阅读视图中。
%%
水平线
---
***
___
- - -
* * *
属性(Frontmatter)
属性使用YAML frontmatter在笔记的开头:
---
title: 我的笔记标题
date: 2024-01-15
tags:
- project
- important
aliases:
- 我的笔记
- 替代名称
cssclasses:
- custom-class
status: in-progress
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: [one, two] 或 YAML 列表 |
| 链接 | related: "[[Other Note]]" |
默认属性
tags- 笔记标签aliases- 笔记的替代名称cssclasses- 应用于笔记的CSS类
标签
#标签
#嵌套/标签
#带破折号的标签
#带下划线的标签
在frontmatter中:
---
tags:
- tag1
- nested/tag2
---
标签可以包含:
- 字母(任何语言)
- 数字(不作为第一个字符)
- 下划线
_ - 连字符
- - 正斜杠
/(用于嵌套)
HTML内容
Obsidian 支持在Markdown中使用HTML:
<div class="custom-container">
<span style="color: red;">彩色文本</span>
</div>
<details>
<summary>点击展开</summary>
隐藏内容在这里。
</details>
<kbd>Ctrl</kbd> + <kbd>C</kbd>
完整示例
---
title: 项目 Alpha
date: 2024-01-15
tags:
- project
- active
status: in-progress
priority: high
---
# 项目 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[Input] --> B[Process]
B --> C[Output]
B --> D[Cache]
```
## 相关文档
- ![[会议笔记 2024-01-10#Decisions]]
- [[预算分配|预算]]
- [[团队成员]]
## 参考文献
更多细节,请参见官方文档[^1]。
[^1]: https://example.com/docs
%%
内部笔记:
- 周五与团队审核
- 考虑替代方法
%%