Callout 语法
Callout(标注框)是 Obsidian 中一种特殊的语法,可以创建带有图标和颜色的提示框,让重要信息更加突出和直观。
基本语法
Obsidian 使用以下语法创建 Callout:
markdown
> [!type] 标题
> 内容VitePress 与 Obsidian 语法差异
本文档网站使用 VitePress 的 ::: 语法渲染 Callout,但 Obsidian 中应使用 > [!type] 语法。以下示例均使用 Obsidian 语法。
基本示例
markdown
> [!note] 笔记标题
> 这是一条笔记内容,可以包含多行文字。
> 第二行内容。无标题
省略标题时,仅显示类型图标:
markdown
> [!note]
> 没有标题的 Callout支持的类型
基础类型
| 类型 | 图标 | 用途 |
|---|---|---|
note | 📝 | 一般笔记 |
info | ℹ️ | 信息提示 |
tip | 💡 | 实用技巧 |
warning | ⚠️ | 警告注意 |
example | 📋 | 示例说明 |
quote | 💬 | 引用内容 |
额外类型
| 类型 | 图标 | 用途 |
|---|---|---|
abstract | 📋 | 摘要总结 |
question | ❓ | 问题疑问 |
success | ✅ | 成功完成 |
failure | ❌ | 失败错误 |
danger | 🔥 | 严重警告 |
bug | 🐛 | Bug 记录 |
todo | ✔️ | 待办事项 |
important | ❗ | 重要强调 |
hint | 🔍 | 提示暗示 |
check | ✅ | 检查确认 |
help | ❓ | 帮助说明 |
caution | ⚠️ | 小心注意 |
可折叠 Callout
使用 + 或 - 控制折叠状态:
默认折叠
markdown
> [!note]- 点击展开
> 这部分内容默认折叠,点击标题可以展开查看。
> 适合放补充说明或不紧急的细节。默认展开
markdown
> [!note]+ 点击折叠
> 这部分内容默认展开,点击标题可以折叠。
> 适合放重要但较长的补充内容。使用场景
可折叠 Callout 特别适合:
- 较长的代码示例
- 补充说明和细节
- 进阶内容(初学者可跳过)
- 答案和解析
嵌套 Callout
Callout 可以嵌套使用,通过增加 > 层级:
markdown
> [!question] 问题
> 如何在 Obsidian 中管理多个项目?
>
> > [!tip] 解决方案
> > 推荐使用 PARA 方法,按项目和领域分类管理。嵌套限制
Obsidian 支持多层嵌套,但建议不超过 3 层,否则在阅读模式下显示效果不佳。
在 Callout 中使用格式
Callout 内部支持完整的 Markdown 格式:
列表
markdown
> [!todo] 今日任务
> - [ ] 完成报告
> - [ ] 回复邮件
> - [x] 参加会议代码
markdown
> [!example] 代码示例
> ```python
> def hello():
> print("Hello, Obsidian!")
> ```表格
markdown
> [!info] 数据表
>
> | 项目 | 状态 |
> |------|------|
> | A | 完成 |
> | B | 进行中 |链接
markdown
> [!tip] 参考链接
> 详见 [[高级搜索技巧]] 和 [[模板系统]]实用模式
知识卡片
markdown
> [!note] 概念:双向链接
> 双向链接是 Obsidian 的核心功能,当你创建一个指向笔记 B 的链接时,笔记 B 的反向链接面板会自动显示来自笔记 A 的引用。
>
> **关键点**:
> - 链接是双向的,无需手动维护
> - 通过反向链接面板查看
> - 知识图谱中可视化展示问答模式
markdown
> [!question] 什么是 Zettelkasten?
> Zettelkasten 是一种笔记方法,核心原则是每条笔记只包含一个原子想法,并通过链接建立想法之间的关系。
> [!check] 答案
> Zettelkasten(卡片盒笔记法)由德国社会学家 Niklas Luhmann 发明,他使用这个方法完成了 70 多本书的写作。警告提示
markdown
> [!warning] 同步冲突
> 多设备同时编辑同一笔记可能导致冲突。建议:
> - 编辑前等待同步完成
> - 避免在手机和电脑上同时编辑
> - 定期检查冲突文件
> [!danger] 数据丢失风险
> 不要直接删除 `.obsidian` 文件夹,这会导致所有配置和插件数据丢失!进阶折叠
markdown
> [!tip]- 进阶:Dataview 查询语法
> ```dataview
> TABLE status, due-date
> FROM "项目"
> WHERE status = "进行中"
> SORT due-date ASC
> ```
>
> 更多 Dataview 用法参考 [[Dataview 实战]]自定义 Callout
通过 CSS 代码片段自定义 Callout 样式:
修改颜色
在 .obsidian/snippets/ 中创建 CSS 文件:
css
/* 自定义 note 类型颜色 */
.callout[data-callout="note"] {
--callout-color: 50, 150, 250;
}
/* 自定义 warning 类型颜色 */
.callout[data-callout="warning"] {
--callout-color: 250, 150, 50;
}自定义图标
css
.callout[data-callout="my-type"] {
--callout-icon: lucide-star;
}创建新类型
css
.callout[data-callout="definition"] {
--callout-color: 100, 200, 100;
--callout-icon: lucide-book-open;
}然后在笔记中使用:
markdown
> [!definition] 定义
> 这是一个自定义的 definition 类型 Callout。启用 CSS 代码片段
创建 CSS 文件后,需要在 设置 → 外观 → CSS 代码片段 中启用。
常见问题
Callout 不显示?
- 确认
> [!type]语法正确,!不可省略 - 确认每一行都有
>前缀 - 空行也需要
>前缀
Callout 内换行?
在 Callout 中换行只需在新行添加 > 前缀:
markdown
> [!note] 多行内容
> 第一行
>
> 第二行(中间空行也有 > 前缀)与引用块的区别?
普通引用块使用 > 不带 [!type]:
markdown
> 这是普通引用,没有图标和颜色
> [!quote] 这是 Callout,有图标和颜色
> 内容相关资源
- Markdown 语法 — 基础语法参考
- CSS 代码片段 — 自定义样式
- 主题定制 — 外观定制