Tabs are the optimal UI pattern for presenting mutually exclusive or related data sets (e.g., “Install via NPM vs. Yarn” or “macOS vs. Windows” instructions) within a compact, interactive format.

语法参考

tabs 容器使用专用子分隔符 == tab "标签"。每个标签定义一个用户可切换的独立面板。

::: tabs

== tab "标签 1"
第一个标签的内容。

== tab "标签 2"
第二个标签的内容。

:::

示例画廊

1. 包管理

标签页最常用于在单个视图中显示不同包管理器的安装说明。

pnpm
npm
yarn
pnpm add @docmd/core
npm install @docmd/core
yarn add @docmd/core

2. 多语言代码片段

通过分离不同编程语言或环境保持逻辑清晰。

TypeScript
JavaScript
import { build } from '@docmd/core';
await build('./docmd.config.js');
const { build } = require('@docmd/core');
build('./docmd.config.js');

核心功能

同构懒渲染

docmd 实现了条件资源懒加载。如果标签页包含计算密集型元素(如 Mermaid.js 图表或高分辨率图片),这些资源仅在用户激活特定标签时才初始化和渲染,确保快速的初始页面加载。

状态持久化

默认 SPA 路由器会跨相似文档页面追踪活动标签的索引。如果用户在某页选择了"pnpm"并导航到具有相同标签结构的另一页,"pnpm"标签会自动保持激活状态。

技术约束

约束 说明
嵌套深度 为保持布局完整性,标签页不能嵌套在其他标签组件内。
交互冲突 高冲突语法:在标签页内嵌套步骤时,请使用标准有序列表(1. 步骤一)而非 ::: steps 容器。
响应式限制 建议每个块的标签数量限制在 6 个以内,以确保移动设备兼容性。
AI 上下文映射

在代码片段中使用标签页时,请始终在标签标签中直接包含目标语言(如 == tab "TypeScript")。这允许 LLM 从 llms-full.txt 上下文流中即时识别并提取技术相关部分。