Start typing to search

Press ESC to close
沉浸

内容指令

内容指令

内容指令是 Vergil 在 Markdown 基础上扩展的一组语法,用于在文章中插入更丰富的元素,比如提示框、图片画廊、标签页等。

什么是指令

指令是包裹在特殊标记中的内容块。Vergil 基于 remark-directive 规范实现,支持三种形式:

形式标记用途
行内指令:嵌入段落中的文字装饰,如 :mark[高亮]
块级指令:::独占一行的内容块,如提示框、折叠面板
容器指令:::: 或更多包含其他指令的容器,如标签页、网格

语法规则

  • 行内指令::指令名[内容]{属性}
  • 块级指令:以 ::: 开头和结尾,中间是内容
  • 容器指令:外层冒号数量 必须严格大于 内层。例如 :::::::::::: ::::

块级指令示例

:::callout{variant="tip"}
这是一个提示框,用来强调重要信息。
:::

效果:

Info

这是一个提示框,用来强调重要信息。

嵌套容器指令

当指令内部需要包含其他指令时,外层使用更多冒号。规则很简单:外层冒号 > 内层冒号

两层嵌套:::::::)—— 最常用的形式,如标签页:

::::tabs
:::tab{label="选项一"}
选项一的内容
:::
:::tab{label="选项二"}
选项二的内容
:::
::::

三层嵌套::::: :::::::)—— 例如网格内放标签页:

:::::grid{cols=2}
::::grid-cell
:::callout{variant="tip"}
单元格内的提示框
:::
::::
::::grid-cell
:::callout{variant="note"}
另一个单元格
:::
::::
:::::
Info

记不住冒号数量?一个口诀:容器永远比内容多一个冒号。要包 ::: 就用 ::::,要包 :::: 就用 :::::

行内指令示例

这是一段文字,其中 :mark[关键内容] 被高亮显示。

效果:

这是一段文字,其中 关键内容 被高亮显示。

指令分类

Vergil 提供 30+ 个指令,按用途分为三类:

结构排版

用于组织文章版面:

  • 网格(grid) — 多列布局
  • 标签页(tabs) — 切换面板
  • 折叠面板(folding) — 可展开收起的内容
  • 时间线(timeline) — 时间顺序列表
  • 横幅(banner) — 顶部大图
  • 标题装饰(title) — 美化标题
  • 诗词排版(poetry) — 传统诗词格式
  • 信纸(paper) — 信纸样式
  • 卷轴(reel) — 垂直滚动文字

内容展示

用于插入提示信息、图片、代码和链接:

  • 提示框(callout) — 信息/警告/提示
  • 高亮块(note) — 主题色高亮
  • 引用卡片(quot) — 引用展示
  • 段落引号(blockquote) — 带引号的段落
  • 增强图片(image) — 带说明和下载的图片
  • 画廊(gallery) — 图片网格或瀑布流
  • 摄影框(photo) — 带水印的摄影展示
  • 终端块(terminal) — 终端样式代码块
  • 复制块(copy) — 一键复制代码
  • GitHub 卡片(ghcard) — 展示 GitHub 仓库或用户
  • 海报墙(posters) — 友情链接展示
  • 标签链接(hashtag) — 带样式的标签
  • 按钮(button) — 链接按钮

文字与交互

用于美化文字和增加互动性:

  • 高亮(mark) — 文字高亮
  • 下划线(u) — 下划线
  • 着重号(emp) — 着重号
  • 波浪线(wavy) — 波浪下划线
  • 删除线(del) — 删除线
  • 上标(sup)/ 下标(sub) — 上下标
  • 键盘按键(kbd) — 键盘按键样式
  • 模糊显示(blur) — 点击显示隐藏内容
  • 密码遮罩(psw) — 点击显示密码
  • 复选框(checkbox) — 可勾选列表
  • 单选框(radio) — 单选列表
  • 步骤标记(step-brackets) — 步骤编号

使用建议

  • 不要在一篇文章中使用过多指令,保持简洁
  • 提示框(callout)适合强调关键信息,但每篇文章不超过 3 个
  • 图片画廊(gallery)适合展示多张照片,单张图片直接用 Markdown 语法即可
  • 折叠面板(folding)适合隐藏长代码或补充说明
未知标题
00:00
00:00
播放列表