
### 概述

callout 是 obsidian 的特有语法，源于 [markdown](https://zhida.zhihu.com/search?content_id=238995307&content_type=Article&match_order=1&q=markdown&zhida_source=entity) 的引用 `>`

### 语法

### 基本使用

```text
> [!NOTE] Title
> Content
```

复制上面两行内容粘贴到 obsidian 中，他们会自动渲染成 callout 的样式。

分为四个部分：

- 开头的 >
- 标明 callout 类型的 NOTE
- Callout 的标题 Title
- Callout 的正文 Content

obsidian 共提供了 13 种 callout
详见：[目前支持的样式列表](https://pkmer.cn/Pkmer-Docs/02-%E7%9F%A5%E8%AF%86%E7%AE%A1%E7%90%86%E5%9F%BA%E7%A1%80/markdown/obsidian%E6%89%A9%E5%B1%95%E8%AF%AD%E6%B3%95/#%E7%9B%AE%E5%89%8D%E6%94%AF%E6%8C%81%E7%9A%84%E6%A0%B7%E5%BC%8F%E5%88%97%E8%A1%A8)

- 他们是大小写不敏感的，例如 `> [!BUG]`,`> [!bug]` 和 `> [!Bug]` 的效果是一样的；
- 同一类型的 callout 可能有很多种别名，例如 `> [!info]` 和 `> [!todo]` 的样式是一样的；  
  
- note
- abstract, summary, tldr
- info
- todo
- tip, hint, important
- success, check, done
- question, help, faq
- warning, caution, attention
- failure, fail, missing
- danger, error
- bug
- example
- quote, cite


```text
> [!INFO]
> 这里是callout模块
> 支持**markdown** 和 [[Internal link|wikilinks]].
```


呈现出来的结果：

> [!info] 
> 这里是callout模块
> 支持**markdown** 和 `[[Internal link|wikilinks]]`.



### 标题和内容

可以自定义标题，然后直接不要主体部分，比如

```text
> [!TIP] Callouts can have custom titles, which also supports **markdown**!
```

> [!TIP] Callouts can have custom titles, which also supports **markdown**!

倘若将"标明 callout 类型的 NOTE"改成自己的，默认为note，除非你已经自定义了。
```txt
> [!规定的标记] 默认为note
```


> [!规定的标记] 默认为note

扩充 Callouts 的语法，在 Callout 类型后上 Pipe，再輸入下列设定：
```txt
>[!Callout 类型|left/right-small/medium/large]
>> [!blank-container|left/right-small/medium/large]
```

> [!Callout 类型|left/right-small/medium/large]
>> [!blank-container|left/right-small/medium/large]

### 折叠

可以使用 `+` 默认展开或者 `-` 默认折叠正文部分。


```text
> [!NOTE]+ 左边多了个加号
> 代表 Callout 默认展开

> [!NOTE]- 左边多了个减号
> 代表 Callout 默认折叠
```

```text
> [!FAQ]- Are callouts foldable?
> Yes! In a foldable callout, the contents are hidden until it is expanded.
```


> [!FAQ]- Are callouts foldable?
> Yes! In a foldable callout, the contents are hidden until it is expanded.




### Callout 的嵌套使用

每到下一层多加个一个 `>` 即可，例如

```text
> [!question] Can callouts be nested?
> > [!todo] Yes!, they can.
> > > [!example]  You can even use multiple layers of nesting.
```



> [!question] Can callouts be nested?
> > [!todo] Yes!, they can.
> > > [!example]  You can even use multiple layers of nesting.


### Callout 的换行

要换行的地方用 `>` 连接保证 Callout 不断即可，你也可以直接用 shift enter 换行，这样 obsidian 会自动补充开头的 `>`

```text
> [!NOTE] Callout 的换行
> 第一行
> 
> 第二行
```



### 如果需要自定义

Callout的类型和图标是用CSS来描述，颜色是`r, g, b` 三色组，图标有相应的 icon ID (比如[lucide-info](https://zhida.zhihu.com/search?content_id=198053160&content_type=Article&match_order=1&q=lucide-info&zhida_source=entity))。也可以自定义SVG图标。

- 前者用于控制 callout 的背景颜色
- 后者用于控制 callout 的图标，图标代码可以从 [Lucide](https://link.zhihu.com/?target=https%3A//lucide.dev/) 找到，也可以使用自己找的 svg 图标

```css
.callout[data-callout="my-callout-type"] {
    --callout-color: 0, 0, 0;
    --callout-icon: icon-id;
    --callout-icon: '<svg>...custom svg...</svg>';
}
```


之后你可以在笔记中用到

```text
> [!my-callout-type] Title
> Contents
```

你可以在 [Obsidian样式-Callout样式]([PKMer_Obsidian 样式：Callout 样式](https://pkmer.cn/Pkmer-Docs/10-obsidian/obsidian%E5%A4%96%E8%A7%82/css-%E7%89%87%E6%AE%B5/obsidian%E6%A0%B7%E5%BC%8F-callout%E6%A0%B7%E5%BC%8F/)) 中找到许多已经写好的 callout 样式，直接放到你的库的配置文件中即可使用。

修改图标和颜色足以实现大部分 callout 的自定义，下面给出另一种 callout 自定义的玩法：**添加修饰词而非创建新的 callout 名称**

这种用法也挺常见，例如 blue topaz 主题的实现 callout 的百分比显示

```text
> [!Note|50%] Title
> Content
```

css 代码格式如下

```css
.callout[data-callout-metadata*="..."] {
  ...
}
```

把原来的 `data-callout=".."` 替换为 `data-callout-metadata*=".."`。

`=` 代表需要严格等于，而 `*=` 代表包含后面的字符

更多 css 样式见[PKMer_Obsidian 的 CSS 代码片段](https://pkmer.cn/Pkmer-Docs/10-obsidian/obsidian%E5%A4%96%E8%A7%82/obsidian%E7%9A%84css%E4%BB%A3%E7%A0%81%E7%89%87%E6%AE%B5/)
[Use callouts - Obsidian Help](https://obsidian.md/help/How+to/Use+callouts)





参考文献
[《效率工具》 - 极客文档](https://geekdaxue.co/books/weiyinerzui@doi48r#)