@diplodoc/openapi-extension

中文文档
5.3.2发布于 2026/11/11TypeScriptCommonJS构建来源已验证近 30 天下载 2522

Diplodoc 变压器和构建器的 OpenAPI 扩展

中文使用文档
文档目录9 节
  1. 特征
  2. 安装
  3. 使用量
  4. 变形插件( E) openapi-sandbox 块)
  5. 包含器( OpenAPI ~ Markdown)
  6. 运行时间( 浏览器 UI)
  7. 发展
  8. 文档
  9. 许可证

英语 | русский


NPM version Quality Gate Status Coverage Maintainability Rating Reliability Rating Security Rating

@diplodoc/openapi-extension (英语)

Diplodoc平台的OpenAPI扩展. 规定:

  • Markdown 它的变换插件 openapi-sandbox 栅栏地块.
  • 一个将 OpenAPI specs 转换成 Markdown 页面的包含器 .
  • 一个浏览器运行时间(React UI)来渲染交互式OpenAPI sandbox.

特征

  • YFM 语法支持
  • 外观渲染数字 : oneOf 编号 : allOf, enums, 循环引用
  • 沙盒用户界面: 交互请求/响应 UI 在浏览器中提供
  • 包含管道: 从 OpenAPI 定义生成 Markdown 文件

安装

npm install @diplodoc/openapi-extension

使用量

变形插件( E)openapi-sandbox 块)

向变压器添加插件 :

import transform from '@diplodoc/transform';
import {transform as openapiSandbox} from '@diplodoc/openapi-extension';

const markdown = `
\`\`\`openapi-sandbox
method: post
path: /test
server: http://localhost:8080
\`\`\`
`;

const {result} = await transform(markdown, {
  plugins: [openapiSandbox()],
});

插件转换 openapi-sandbox 栅栏可以进入 DOM 节点,运行时间可以在浏览器中水合.

包含器( OpenAPI ~ Markdown)

包含器切入点导出为 @diplodoc/openapi-extension/includer用于建造管道:

  • 校验 OpenAPI 规格
  • 确定和规范引用
  • 生成端点和图案部分的 Markdown 页面

这个 sandbox 选项接受 host 财务报告和审定财务报表 customHost中的 YFM 预设变量 host 为: 在生成页面时解决。 设定 customHost: true 以显示主机输入 沙盒;其上报的数值由每个项目,规格修改和操作存储. 提交空值还原配置 host。 。 。 .

sandbox:
  host: "{{apiHost}}"
  customHost: true

条件中的预设变量

这个 noindex, (中文(简体) ), filter,以及 hidden 选项中接受液体表达式 endpoint 财务报告和审定财务报表 tag 字段。 端点或标签属性可直接使用; 预设变量在 vars。不要将这些表达式围起来 {{ }}。 。 。 .

# presets.yaml
default:
  noIndexOperations: [deletePet]
# toc.yaml
items:
  - name: API
    include:
      path: api
      mode: link
      includers:
        - name: openapi
          input: petstore.yaml
          noindex:
            endpoint: vars.noIndexOperations contains operationId

生成 deletePet 端点页面为 noIndex: true 在其前题; 其他端点页仍可索引。 该页面仍在生成并包含在TOC中. 标记条件可以使用 tag: vars.noIndexTags contains name 换句话说. 匹配标记也收到 noIndex: true 在他们生成的登陆页面. 仅端点条件不会改变其标记的登陆页面索引.

为包含这些内容的技选委员会使用其目录和 祖先 presets.yaml 文件,而不是规格或生成的输出目录. --vars-preset 选择覆盖的预设 default 在每个文件中; 更接近 预设文件优先于祖先文件. --vars 覆盖预设值. 阵列、布林克数、数字和嵌入对象都得到支持. 一个空的 noIndexOperations 数组匹配无终点.

程序呼叫员 includer(run, params, tocPath) 必须初始化它们的变量 在援引加入者之前先提供服务。 CLI在处理TOCs之前这样做.

关于处理阶段的详细情况,见:

  • adr/ADR-002-openapi-processing-pipeline.md

运行时间( 浏览器 UI)

运行时间导出为 @diplodoc/openapi-extension/runtime。它使交互式用户界面变为 .yfm-openapi-sandbox-js 变换插件产生的占位符.

在您的捆绑中导入运行时间条目和样式 :

import '@diplodoc/openapi-extension/runtime';
import '@diplodoc/openapi-extension/runtime/styles';

发展

npm install
npm run typecheck
npm test
npm run lint
npm run build

文档

  • 发展成果评估 : adr/
  • 代理笔记 : AGENTS.md

许可证

见 LICENSE。 。 。 .

版本与发布记录

@diplodoc/openapi-extension 共发布 117 个版本,首次发布于 2023/05/25;过去 12 个月发布了 27 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
5.3.2latest2026/11/111 天前
5.3.12026/11/066 天前
5.3.02026/11/039 天前
5.2.72026/10/021 个月前
5.2.62026/09/301 个月前
5.2.52026/09/301 个月前

其他发布通道:beta → 2.0.0-beta.0。

关于 @diplodoc/openapi-extension 的常见问题

@diplodoc/openapi-extension 是什么?

Diplodoc 变压器和构建器的 OpenAPI 扩展

如何安装 @diplodoc/openapi-extension?

在项目目录运行 npm install @diplodoc/openapi-extension,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0)、react-dom(^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0)、markdown-it(^13.0.0)、@gravity-ui/uikit(^7.0.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@diplodoc/openapi-extension 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@diplodoc/openapi-extension 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@diplodoc/openapi-extension 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@diplodoc/openapi-extension 可以商用吗?

@diplodoc/openapi-extension 使用 未声明 许可。package.json 没有声明许可证。没有许可证的代码默认保留全部权利,商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括,不构成法律意见,请以许可原文为准。

@diplodoc/openapi-extension 的下载量有多少?

根据 npm 官方下载统计,@diplodoc/openapi-extension 在 2026/10/13 – 2026/11/11 这 30 天内被下载 2,522 次,日均约 84 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@diplodoc/openapi-extension 还在维护吗?

最新版本 5.3.2 发布于 2026/11/11(1 天前);至今共发布 117 个版本,其中过去 12 个月发布了 27 个;首次发布于 2023/05/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。