第 4 章 创建 TechDocs 附加组件
如果您的组织有现有 TechDocs 附加组件无法满足的文档需求,开发人员可以为您的 TechDocs 插件创建新的附加组件。
TechDocs 附加组件是一个 React 组件,从前端插件导入。如果您没有可用于导出 TechDocs 附加组件的现有插件,您可以使用 backstage-cli 创建新插件结构来生成您可以自定义的默认前端插件结构。
新的插件的文件夹结构可用于将 TechDocs 附加组件导入到 TechDocs 插件中,如下例所示:
<new_plugin_for_techdocs_add-on>/
dev/
index.ts
src/
components/
<new_techdocs_add-on_component>/
<new_techdocs_add-on_component>.test.tsx
<new_techdocs_add-on_component>.tsx
index.ts
<new_techdocs_add-on_fetch-component>/
<new_techdocs_add-on_fetch-component>.test.tsx
<new_techdocs_add-on_fetch-component>.tsx
index.ts
index.ts
plugin.test.ts
plugin.ts
routes.ts
setupTests.ts
.eslintrc.js
package.json
README.md
先决条件
-
已安装
yarn软件包管理器。 - Docker v3.2.0 或更高版本已安装并运行 Podman v3.2.0 或更高版本。
流程
- 在终端中,导航到您要创建新插件的存储库的根文件夹。
要创建新的前端插件,请运行以下命令:
$ yarn new输出示例:
? What do you want to create? plugin - A new frontend plugin ? Enter the ID of the plugin [required]在终端提示符中,输入新插件的名称。例如:
? Enter the ID of the plugin [required] <new_plugin_for_techdocs_add-on>输出示例
Successfully created plugin完成此操作后,会在
plugins目录中自动生成具有相同名称的子目录。目录包含您需要配置以创建新插件的所有文件。在终端中,进入您的新插件目录。例如:
cd plugins/<new_techdocs_add-on_directory>添加'@backstage/plugin-wagon-react' 软件包以获取 TechDocs 附加组件的 frontend 工具。例如:
yarn add @backstage/plugin-techdocs-react-
在包含自定义 TechDocs 附加组件组件的目录中,删除附加组件不需要的所有默认文件或文件组件,如
index.tsx和plugins.ts文件的routes.ts文件或组件。 在
plugins.ts文件中,添加以下代码:import { createPlugin } from '@backstage/core-plugin-api'; import { createTechDocsAddonExtension } from '@backstage/plugin-techdocs-react'; export const <new_plugin_for_techdocs_add-on> = createPlugin({ id: '<new_techdocs_add-on>', }); /* * * @public */ export const <new_techdocs_add-on> = <new_plugin_for_techdocs_add-on>.provide( createTechDocsAddonExtension<_<new_techdocs_addon_props>_>({ name: '<new_techdocs_add-on>', location: TechDocsAddonLocations.Content, component: <new_techdocs_add-on_component>, }), );其中
- <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';-
创建一个新的 <
;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>'其中
- <new_techdocs_addon_props> (Optional)
-
指定新 TechDocs 附加组件的
props,如 <new_wagon_add-on>.tsx文件(如果适用)。
-
在
plugins.ts文件中,导入新的 TechDocs 附加组件组件。 - 按照安装和配置 TechDocs 附加组件中的步骤 安装和配置新的 TechDocs 附加组件
验证
- 重启 RHDH 应用程序,并验证插件是否已成功激活和配置。
- 验证应用程序日志以确认,并确保插件按预期工作。