3.4. 创建 TechDocs 附加组件
如果您的组织有现有 TechDocs 附加组件无法满足的文档需求,开发人员可以为您的 TechDocs 插件创建新的附加组件。
TechDocs 附加组件是一个 React 组件,从前端插件导入。如果您没有可用于导出 TechDocs 附加组件的现有插件,您可以使用 backstage-cli 创建新插件结构来生成您可以自定义的默认前端插件结构。
新的插件的文件夹结构可用于将 TechDocs 附加组件导入到 TechDocs 插件中,如下例所示:
先决条件
-
已安装
yarn软件包管理器。 - Docker v3.2.0 或更高版本已安装并运行 Podman v3.2.0 或更高版本。
步骤
- 在终端中,导航到您要创建新插件的存储库的根文件夹。
要创建新的前端插件,请运行以下命令:
yarn new
yarn newCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
? What do you want to create? plugin - A new frontend plugin ? Enter the ID of the plugin [required]
? What do you want to create? plugin - A new frontend plugin ? Enter the ID of the plugin [required]Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在终端提示符中,输入新插件的名称。例如:
? Enter the ID of the plugin [required] <new_plugin_for_techdocs_add-on>
? Enter the ID of the plugin [required] <new_plugin_for_techdocs_add-on>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Successfully created plugin
Successfully created pluginCopy to Clipboard Copied! Toggle word wrap Toggle overflow 结果
在
plugins目录中,会自动生成带有相同名称的子目录。目录包含您需要配置以创建新插件的所有文件。在终端中,进入您的新插件目录。例如:
cd plugins/<new_techdocs_add-on_directory>
cd plugins/<new_techdocs_add-on_directory>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 添加'@backstage/plugin-wagon-react' 软件包以获取 TechDocs 附加组件的 frontend 工具。例如:
yarn add @backstage/plugin-techdocs-react
yarn add @backstage/plugin-techdocs-reactCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
在包含自定义 TechDocs 附加组件组件的目录中,删除附加组件不需要的所有默认文件或文件组件,如
index.tsx和plugins.ts文件的routes.ts文件或组件。 在
plugins.ts文件中,添加以下代码:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <new_plugin_for_techdocs_add-on>
- 指定将 TechDocs 附加组件导入到 Red Hat Developer Hub 实例的新插件。
- <new_techdocs_add-on>
- 指定您要创建的自定义 TechDocs 附加组件。
- <new_techdocs_addon_props> (Optional)
-
指定新 TechDocs 附加组件的
props,如 <new_wagon_add-on>.tsx文件(如果适用)。 - <new_techdocs_add-on_component>
-
指定您要创建的自定义 TechDocs 附加组件的 React 组件。您将在后续步骤中在
.tsx文件中创建此组件。
在
index.ts文件中,通过添加以下代码导出您要创建的自定义 TechDocs 附加组件:export { <new_plugin_for_techdocs_add-on>, <new_techdocs_add-on> } from './plugin';export { <new_plugin_for_techdocs_add-on>, <new_techdocs_add-on> } from './plugin';Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
创建一个新的 <
;new_wagon_add-on > .tsx文件,并为新的 TechDocs 附加组件组件添加代码。 创建一个新的
index.tsx文件,并通过添加以下代码来导出新的 TechDocs 附加组件组件:export { <new_techdocs_add-on>, type <new_techdocs_addon_props>} from './<new_techdocs_add-on_directory>'export { <new_techdocs_add-on>, type <new_techdocs_addon_props>} from './<new_techdocs_add-on_directory>'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 其中
- <new_techdocs_addon_props> (Optional)
-
指定新 TechDocs 附加组件的
props,如 <new_wagon_add-on>.tsx文件(如果适用)。
-
在
plugins.ts文件中,导入新的 TechDocs 附加组件组件。 - 按照安装和配置 TechDocs 附加组件中的步骤 安装和配置新的 TechDocs 附加组件
验证
- 重启 RHDH 应用程序,并验证插件是否已成功激活和配置。
- 验证应用程序日志以确认,并确保插件按预期工作。