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 |
每次迁移将自动执行:
- 检测源项目的配置文件并提取站点标题。
- 将所有现有文件安全地移动到
<source>-backup/目录。 - 将文档源文件(如
docs/,src/content/docs/等)复制到docmd标准的docs/结构中。 - 生成一个带有合理默认值的、随时可用的
docmd.config.js。
cd my-docusaurus-site
npx @docmd/core migrate --docusaurus
npx @docmd/core dev
注意: 由于各个文档平台处理诸如侧边栏、版本控制和国际化(i18n)等复杂逻辑的方式各不相同(通常使用专有代码或 API),为了避免破坏您的构建,
docmd不会尝试自动翻译这些配置。迁移引擎专注于安全移动您的 Markdown 内容和静态资源,而将navigation.json和localisation的设置交给您通过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 示例(支持 bunx,bun 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 查看所有可用的迁移源并在几秒钟内开始使用。