Note

用 VitePress 风格的 note 容器语法

2026-05-16 #Hexo#写作技巧

如果你写过 VitePress 或者 Docusaurus,应该对 ::: warning 这种容器语法很熟。FlatPaper 主题现在同时支持这种写法 —— 你不再需要 note 标签和对应的 endnote 两端围起来,直接用 ::: 开合即可。两种语法可以在同一篇文章里混用,老文章不受影响。

1. 基本写法

1
2
3
::: success
一个 Success 提示
:::

效果:

一个 Success 提示

可以理解为 :::note 标签的语法糖,两者完全等价 —— 渲染出来的 DOM、折叠行为、样式都一模一样,只是更轻、更接近通用 markdown 习惯。

2. 折叠提示

只要在类型后跟标题,就会自动渲染为可折叠的 <details>

1
2
3
::: warning 点我展开
这里是被折叠的内容。
:::
点我展开

这里是被折叠的内容。

3. 支持的全部类型

note 标签共用同一套类型常量,一共 6 种:

一个 Default 提示

一个 Primary 提示

一个 Success 提示

一个 Info 提示

一个 Warning 提示

一个 Danger 提示

对应代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
::: default
一个 Default 提示
:::

::: primary
一个 Primary 提示
:::

::: success
一个 Success 提示
:::

::: info
一个 Info 提示
:::

::: warning
一个 Warning 提示
:::

::: danger
一个 Danger 提示
:::

4. 与 note 标签的关系

维度 note 标签 :::
语法风格 Hexo / Nunjucks 标签 通用 markdown 容器扩展(VitePress 派)
类型集合 default / primary / success / info / warning / danger 同左
折叠语义 跟在类型后写标题即折叠 同左
嵌套 不支持 不支持
代码块中出现 会被当成普通文本 同左(fenced / indented 代码内安全)
编辑器预览 Typora 等看到的是裸 Nunjucks 标准 markdown 容器,预览更友好

主题在 before_post_render 阶段把 ::: 改写成等价的 note 标签,再交给 Hexo 后续流程处理。所以所有现有的 note 标签文章不需要改动,新写的可以选用更轻的 :::

5. 边界注意

  • ::: 开合两行必须各自独占一行,前后建议留空行(和 VitePress 行为一致)
  • 类型名错拼(如 ::: succes)不会被识别,会原样输出 :::
  • 不支持嵌套 —— 如果需要在 note 里再放 note,请直接用一层
  • 代码块内的 :::(不管是 ``` 还是 ~~~ 还是 4 空格缩进)都会被完整保留,不会误触发改写
Like 评论
分享