标注用于隔离那些需要读者立即注意的信息。docmd 提供了五种语义类型,每种都具有独特的视觉样式和主题图标。

容器语法 (Container Syntax)

# 标准标注容器模式
::: callout 类型 ["标题文本"] [icon:图标名称] # 容器开启
支持 Markdown、代码块与按钮的正文内容...
::: /callout # 显式闭合标签

# 迁移别名模式
::: 类型 ["标题文本"] [icon:图标名称]
正文内容...
::: /类型

功能特性与支持属性 (Features & Attributes)

参数 / 属性 类型 描述
语义类型 info | tip | warning | danger | success 基础语义类型,定义默认背景样式、边框颜色与主题图标。
标题文本 "String" | title:"..." 可选标题(第 2 个位置参数或 title:"...")。将覆盖默认语义标题。
图标覆盖 icon:NAME 可选。使用自定义 Lucide 图标覆盖默认类型图标。
迁移别名 ::: tip, ::: warning, ::: danger, ::: info, ::: note, ::: caution 无缝兼容 VitePress 和 Docusaurus 的开箱即用别名。
闭合标签 ::: /callout, ::: /tip, ::: 支持显式命名闭合标签或通用 ::: 闭合标记。
v0.9.1+ 容器语法标准化

v0.9.1 起,docmd 引入了显式的容器开启与闭合标签(例如 ::: card::: /card::: tab::: /tab)、显式的键值对属性(title:"..."url:"...")以及末尾的 # 注释。推荐在编写新文档时采用此现代语法。同时,对传统子块标记(== tab1.)和位置参数退避逻辑的向下兼容将被严格保留。

迁移友好的别名

如果您从 VitePressDocusaurus 迁移,可以直接使用它们的原生语法:

  • :::tip:::warning:::danger:::info(VitePress)
  • :::note:::caution(Docusaurus)

这些别名的渲染效果与 docmd 等效语法完全相同。无空格语法如 :::callout 也同样支持。

支持的语义类型

类型 意图 视觉信号
info 通用数据 上下文背景或有用的非关键信息。
tip 优化 性能捷径或“专业技巧”。
warning 警告 潜在问题或需要关注的弃用功能。
danger 危险 数据丢失风险、破坏性变更或系统故障。
success 成功 成功配置或构建的确认。

实现展示

1. 极简信息说明

::: callout info
旧版配置架构仍然受支持,但不再推荐使用。
::: /callout

旧版配置架构仍然受支持,但不再推荐使用。

2. 带有自定义标题的高优先级警报

::: callout warning title:"破坏性变更目标"`v0.7.0` 起,内部 WebSocket RPC 系统将正式弃用。
::: /callout
破坏性变更目标

v0.7.0 起,内部 WebSocket RPC 系统将正式弃用。

3. 丰富内容组合

标注支持全方位的 Markdown,允许你在警报中嵌入按钮和代码块。

::: callout tip title:"优化的本地测试" icon:command
在开发过程中使用 preserve 标志来保留构建文件:

```bash
docmd dev --preserve
```

::: button title:"CLI 标志参考" url:"/cli-commands"
:::
优化的本地测试

使用 preserve 标志来保留构建文件:

npx @docmd/core dev --preserve
CLI 标志参考
AI 的优先逻辑

对于 LLM,标注充当 高优先级锚点 (High-Priority Anchors)。通过使用 ::: callout danger 来记录破坏性变更或系统限制,你可以提供一个清晰的信号,即 AI 模型在推理和生成过程中必须优先处理此信息。