Docsify v5.0.0-rc.3:支持 GitHub 风格的提示框

片段 GitHub Markdown 文档 侧边
发布于 2026-06-12
1

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

扫码阅读
手机扫码阅读

Docsify v5.0.0-rc.3 带来了全新的 GitHub 风格提示框(Callouts),让文档阅读体验更清晰直观。

除了这一亮点功能,本次更新还改进了 Markdown 片段提取、侧边栏导航和 Slug 生成 等细节。依赖升级、样式优化与文档完善也一并到位,为你带来更稳定、更流畅的使用体验。

支持 GitHub 风格的提示框(Callouts)

在 GitHub 中,此功能被称为 警报(Alerts),是一种基于块引用语法的 Markdown 扩展,用于强调关键信息。 在 Docsify 中,这一功能同样被引入,避免了旧版本中自定义样式在 GitHub 上无法正常渲染的问题。

要添加警报,可以使用如下语法:

> [!CAUTION] > **Caution** callouts communicate negative potential consequences of an action.  > [!IMPORTANT] > **Important** callouts communicate information necessary for users to succeed.  > [!NOTE] > **Note** callouts communicate information that users should take into account.  > [!TIP] > **Tip** callouts communicate optional information to help a user be more successful.  > [!WARNING] > **Warning** callouts communicate potential risks user should be aware of. 

效果如下:

新版风格
新版风格

与此同时,旧版本的 !> 和 ?> 语法已废弃,分别被替换为 > [!IMPORTANT] 和 > [!TIP]

旧版风格
旧版风格

支持提取 Markdown 中的片段内容

过去的 片段提取功能 仅支持代码片段,例如:

[array_map example](example.php ":include :type=code :fragment=array_map") [array_filter example](example.php ":include :type=code :fragment=array_filter") 
  ### [array_map] $numbers = [1, 2, 3, 4, 5]; $squared = array_map(function($n) {  return $n * $n; }, $numbers); var_dump($squared); ### [array_map]  ### [array_filter] $even = array_filter($numbers, function($n) {  return $n % 2 === 0; }); var_dump($even); ### [array_filter] 

这样可确保文档示例和源代码保持一致,减少重复维护。

在本次更新中,Docsify 将这一功能扩展到了 Markdown 文件

同样可以通过 :fragment 精确引用文档片段,引用的内容也支持渲染 Markdown:

[example1](example.md ":include :fragment=example1") [example2](example.md ":include :fragment=example2") 
/// [example1]  > This is from the `example.md`, example1 > /// [example1]  ### [example2]  > This is from the `example.md`, example2  ### [example2] 

这让 跨文档复用 成为可能,提升了写作与维护效率。

优化 Slug 生成规则

Docsify 会根据标题自动生成锚点(slug),但旧规则在一些场景下会产生异常,例如:

  • "The content" → quotthe-contentquo
  • Legacy Style ⚠️ → legacy-style-⚠%ef%b8%8f

在 v5.0.0-rc.3 中,这一逻辑得到了优化:

  • 所有 slug 会统一标准化为 NFC,保持跨平台一致性。

  • 移除了 emoji 变体选择符,避免锚点异常。

  • 生成结果与 GitHub 更加接近,例如:

    • "The content" → the-content
    • Legacy Style ⚠️ → legacy-style-

这样一来,文档的链接更稳定、更可预测,也便于外部引用。

更新日志

Features

  • 支持多键配置助手 (#2571)
  • 支持提取 Markdown 中的片段内容 (#2582)
  • 支持 GitHub 风格的提示框(Callouts) (#2487)

Bug Fixes

  • 修复了侧边栏文本溢出时 app-name-link 的样式问题 (#2564)
  • 增强焦点处理,在切换时支持平滑滚动到内容区域 (#2569#2595)
  • 修复哈希导航可能导致重复回调的问题 (#2575)
  • 修复锚点链接的 display: block 引发的布局问题 (#2576)
  • 修复搜索关键字未转义 HTML 与侧边栏 ID 未裁剪的问题 (#2586)
  • 移除侧边栏被忽略的标题和子级项 (#2580)
  • 更新相对路径处理逻辑,修复跳转异常 (#2579)
  • 优化 slug 生成规则 (#2581),并进一步标准化为 NFC,同时移除 emoji 变体选择符 (#2597)
  • 修复文字底部被截断的问题 (#2568)

Refactor

  • 优化侧边栏展开/收起的触发条件 (#2557)
  • 简化自动插入标题的逻辑 (#2578)

Chore

  • 更新依赖:

    • rollup-plugin-import-css 3.5.0 → 4.0.1 (#2554)
    • lint-staged 15.2.7 → 16.1.0 (#2553)
    • stefanzweifel/git-auto-commit-action 5 → 6 (#2562)
    • marked 15.0.3 → 16.0.0 (#2559)
    • form-data 4.0.0 → 4.0.4 (#2572)
    • jest 29.7.0 → 30.0.3 (#2561)
    • cross-env 7.0.3 → 10.0.0 (#2589)
    • jest-environment-jsdom 29.7.0 → 30.0.5 (#2590)
  • 其他改动:

    • 从 package.json 的 files 列表中移除 themes 目录 (#2574)
    • 更新 PR 与 issue 模板 (#2584)
    • 更新 VS Code 启动配置 (#2587)

Docs

  • 更新了侧边栏链接的格式 (#2577)
  • 改进了快速开始指南 (#1466)
  • 在主题文档中补充了相关 CSS 变量 (#2592)
  • 移除了快速开始指南中的加载对话框说明 (#2585)

Style

  • 更新封面页样式、iframe 暗黑模式透明度与代码块对比度 (#2593)

Docsify v5.0.0-rc.3 在保持轻量的同时,带来了更现代的写作体验。

无论是 GitHub 风格的提示框、跨文档片段提取,还是更稳定的 Slug 规则,都让文档编写更加直观、可靠。

如果你正使用 Docsify,建议尽快升级到最新版本,体验这些改进!


鲁飞