callouts.md
模式 · PATTERN

笔记标注块 Callouts

课程笔记用 Obsidian 的语法和官方色板:老用户零学习成本,一眼分清提示、警告和完成。这是刻意的边界——笔记区是内容,不是产品界面。

一段课程笔记

本节要点

把收集、整理、输出三件事拆开做,每一步只解决一个问题。

  • 收集:先存,不分类
  • 整理:每周一次,按项目归档
  • 输出:一篇笔记只回答一个问题
笔记

标注块语法与 Obsidian 完全一致,老用户零学习成本。

技巧

在笔记里写 [跳到第 3 节](#jump:demo-3) 会生成朱色跳转胶囊。

注意(点我展开)
完成

看完这节,你应该能搭出自己的收件箱。

阶段频率产出
收集随时收件箱
整理每周项目笔记
// 围栏代码块:缩进逐字保真
function inbox(note) {
  return { ...note, tags: [] }
}
import { MarkdownNotes } from './components/v4/MarkdownNotes.jsx'

const MD = `## 本节要点

把收集、整理、输出三件事拆开做,每一步只解决一个问题。

- 收集:先存,不分类
- 整理:每周一次,按项目归档
- 输出:一篇笔记只回答一个问题

> [!note] 笔记
> 标注块语法与 Obsidian 完全一致,老用户零学习成本。

> [!tip] 技巧
> 在笔记里写 \`[跳到第 3 节](#jump:demo-3)\` 会生成朱色跳转胶囊。

> [!warning]- 注意(点我展开)
> 折叠标注块默认收起,标题后加 \`-\` 即可。

> [!success] 完成
> 看完这节,你应该能搭出自己的收件箱。

| 阶段 | 频率 | 产出 |
|---|---|---|
| 收集 | 随时 | 收件箱 |
| 整理 | 每周 | 项目笔记 |

\`\`\`js
// 围栏代码块:缩进逐字保真
function inbox(note) {
  return { ...note, tags: [] }
}
\`\`\`
`

export default function CalloutsDemo() {
  return (
    <div style={{ width: '100%', maxWidth: 560, background: '#FFFFFF', padding: '8px 4px' }}>
      <MarkdownNotes md={MD} onJump={() => {}} />
    </div>
  )
}

十三种标注块

类型默认标题色族RGB图标
noteNoteblue8, 109, 221Pencil
abstractAbstractcyan0, 191, 188ClipboardList
infoInfoblue8, 109, 221Info
todoTodoblue8, 109, 221CheckCircle2
tipTipcyan0, 191, 188Flame
successSuccessgreen8, 185, 78Check
questionQuestionyellow224, 172, 0HelpCircle
warningWarningorange236, 117, 0AlertTriangle
failureFailurered233, 49, 71X
dangerDangerred233, 49, 71Zap
bugBugred233, 49, 71Bug
exampleExamplepurple120, 82, 238List
quoteQuotemono90, 90, 86Quote

类型大小写不敏感;未知类型回落到 note(与 Obsidian 一致)。别名:summary/tldr→abstract,hint/important→tip,check/done→success,help/faq→question,caution/attention→warning,fail/missing→failure,error→danger,cite→quote。标题后加 - 默认折叠、加 + 默认展开。

还支持

标题、段落、列表(含中文顿号 1、)、可横向滚动的表格、缩进逐字保真的围栏代码块、引用、裸链接自动识别、点击放大的图片,以及 [文字](#jump:课节ID) 朱色跳转胶囊——点它跳到对应课节。

铁律

✓ 要笔记区(内容)用 Obsidian 官方色
✗ 不要把这些颜色带进按钮、卡片、徽章等产品界面
✓ 要链接没通过白名单(safeHref)时降级为纯文本