docmd 0.7.3 版本带来了重要的新内容创作功能、一个为切换平台的用户准备的生产级迁移引擎,以及对 Mermaid 图表渲染管线的全面重构。我们还统一了所有交互式容器的图标渲染逻辑,并引入了深度上下文感知的翻页逻辑。

✨ Highlights

🚀 多服务迁移引擎

我们将旧版的内部配置迁移工具替换为了一个全功能的迁移引擎,它可以帮助您通过单条命令将整个文档项目从竞争平台无缝迁移到 docmd

支持的数据源

源平台 迁移命令 自动检测的配置
Docusaurus npx @docmd/core migrate --docusaurus docusaurus.config.js / .ts
MkDocs npx @docmd/core migrate --mkdocs mkdocs.yml
VitePress npx @docmd/core migrate --vitepress .vitepress/config.[js|ts|mjs]
Astro Starlight npx @docmd/core migrate --starlight astro.config.mjs / .ts

每次迁移将自动执行:

  1. 检测源项目的配置文件并提取站点标题。
  2. 将所有现有文件安全地移动到 <source>-backup/ 目录。
  3. 将文档源文件(如 docs/src/content/docs/ 等)复制到 docmd 标准的 docs/ 结构中。
  4. 生成一个带有合理默认值的、随时可用的 docmd.config.js
cd my-docusaurus-site
npx @docmd/core migrate --docusaurus
npx @docmd/core dev

注意: 由于各个文档平台处理诸如侧边栏、版本控制和国际化(i18n)等复杂逻辑的方式各不相同(通常使用专有代码或 API),为了避免破坏您的构建,docmd 不会尝试自动翻译这些配置。迁移引擎专注于安全移动您的 Markdown 内容和静态资源,而将 navigation.jsonlocalisation 的设置交给您通过 docmd 原生的、简单直观的 API 进行手动配置。

请阅读我们全新的综合 迁移指南 ,以了解具体迁移了哪些内容,以及将以前工具的配置映射到 docmd 所需的简单步骤。

📝 代码块标题

您现在可以通过在语言标识符后面添加引号字符串,为任何代码块添加描述性的文件名或标题。这会在代码上方渲染出一个干净的、Mintlify 风格的标题栏。

```javascript "config.js"
export default {
  title: "My Site"
};
```

该标题被渲染为语义标签(而不是标题节点),因此它永远不会出现在目录中或干扰您的页面结构。

📊 交互式 Mermaid 图表

我们彻底重构了 docmd 渲染 Mermaid 图表的方式,将静态的 SVG 转变为深度交互的视觉元素。

  • 智能缩放:图表首先以完整的 Mermaid 质量渲染,然后使用 CSS transforms 智能缩放以适应内容宽度,从而完美保留所有的标签和连线位置。
  • 平移与拖拽:原生支持通过拖拽、或者使用方向控件在大型图表上平移。
  • 缩放控件:悬停时会出现专门的放大/缩小按钮,以便于精确检查细节。
  • 全屏模式:原生的全屏切换功能,允许用户全屏展开复杂的架构图,获得无干扰的视觉体验。
  • Lucide 图标集成:Lucide 图标库已被直接注册到 Mermaid 引擎内部(icon:icon-name),使您可以使用与侧边栏和标签页相同的图标库来构建丰富的架构图。
  • 暗黑模式:图表及其容器现在能在暗黑模式下正确渲染,具备正确主题化的边框和背景。

✨ 通用容器图标

我们重构了核心解析器,采用了共享的容器完整性引擎。这确保了所有交互式元素——提示框、卡片、折叠面板,以及现在的标签页——都支持统一的 icon:name 语法。

标签页中的图标

现在,您可以直接在标签页标签中添加任何 Lucide 图标,为用户提供即时的视觉上下文。

::: tabs
== tab "npm" icon:box
npx @docmd/core dev

== tab "Bun" icon:zap
bunx docmd dev
:::

⚡ 一流的 Bun 支持

我们更新了所有核心文档和“入门指南”,加入了原生的 Bun 示例(支持 bunxbun add 等操作)。英文、中文和德文指南已完成同步。

🧭 上下文感知的分页导航

文章底部的“上一页”和“下一页”分页链接进行了重大的智能升级。现在,核心引擎能够原生理解 outputPrefix 上下文,确保读者在顺序浏览您的文档时,完美地停留在当前语言和版本的环境中,不会意外跳转至默认语言层。

🎨 视觉打磨

  • 更柔和的代码块:所有代码块现在具有更柔和的 border-radius 圆角和微妙的框阴影,外观更加高级。
  • 暗黑模式代码边框:为暗黑模式增加了专用的 --border-color-codeblock 变量,修复了代码块和图表容器边框不可见的问题。
  • Mermaid 容器外观:图表现在被包裹在一个带有边框和内边距的容器中,无论是在亮色还是暗黑主题下都具有一致的样式。

🛠️ 内部重构

此版本包含了对 docmd/parser 包的一次重大架构清理,包括重构实用程序层(共享的 parseTitleAndIcon 工具)、添加自定义的围栏渲染器(防止代码标题被解析为 markdown 标题节点)以及相关正则性能的优化。

Migration Guide

对于终端用户:无破坏性变更。npm update @docmd/core 即可。

对于插件作者:如果您之前手动解析标签页页眉,我们建议切换到 @docmd/parser 导出的 parseTitleAndIcon 实用程序,以保持与未来图标增强功能的兼容性。

对于其他文档平台的用户:运行 npx @docmd/core migrate --help 查看所有可用的迁移源并在几秒钟内开始使用。