站点标志
临风听雨
文章/正文

给 MDX 添加了一些扩展能力

更新于 折腾之路1430字数-阅读-评论

最近重新整理了一下博客里的 Markdown/MDX 扩展,把提示块从自定义容器迁移到了 satteri-callouts。

现在这些扩展都直接写在文章内容里,不需要为每一种提示单独维护一个 MDX 组件。下面记录当前支持的写法和实际效果。

1. Callout

Callout 使用 GitHub Alerts 风格的 blockquote 语法,Satteri 会在构建时把它转换成带图标、标题和内容区域的提示块。当前使用的是 Obsidian 主题,因此不同类型会有对应的颜色和图标。

最基本的写法是把类型放在 [!TYPE] 中:

> [!WARNING] 注意
> 这里是一段提醒内容。

当前文章中使用的类型有:

  • note
  • tip
  • important
  • warning
  • caution

类型不区分大小写。省略标题时,插件会使用类型的默认名称;需要强调具体语境时,可以直接把自定义标题写在类型后面:

> [!TIP] 小技巧
> 这里的标题只对这一块内容生效。

Callout 的内容仍然是普通 Markdown,所以段落、列表、行内代码和代码块都可以直接放进去。

下面这些是实际渲染效果:

Note

适合放补充说明,语气会比较轻一点,不会打断正文节奏。

小技巧

用来放一些顺手的经验或者捷径,我自己写折腾记录的时候会很常用。

  • 行内代码也可以直接写:pnpm dev
  • 普通列表现在也能正常显示
Important

有些内容不一定危险,但确实值得单独拎出来强调,这种类型就比较合适。

注意

需要读者停一下、多看一眼的地方,就比较适合这种样式。

Terminal window
pnpm build
pnpm preview
别手滑

适合拿来标记风险操作,比如删库、覆盖配置、不可逆修改之类的内容。

对于暂时不想展开的补充内容,可以在类型后面加 -;加 + 则表示默认展开:

> [!NOTE]- 实现细节
> 这部分内容默认折叠,读者可以按需展开。

下面是一个默认折叠的实际效果:

实现细节

这部分内容默认折叠,读者可以按需展开。

链接会统一处理,外链会自动带一个小图标。

下面是实际效果:

这是一个站内链接:关于页

这是一个外部链接:Astro 官网

放在列表里也是同样的样式:

3. Img

图片现在也会走统一样式,本地图片和远程图片都可以用,标题会显示成说明文字。

![这是 alt 文本](/cover-demo.avif "这里会显示成图片说明")

下面是实际效果:

这是 alt 文本
这里会显示成图片说明

目前先整理了 Callout、Link 和 Img 这三类扩展,后面有别的再慢慢补。