第 4 章 wagon 附加组件


Problem add-ons 是扩展内置 TechDocs 插件功能的动态插件。例如,您可以使用附加组件报告文档问题、更改文本大小或在 TechDocs Reader 页面或 Entity 页面中查看覆盖中的镜像。

下表描述了 Red Hat Developer Hub 1.7 可用的 TechDocs 附加组件:

Expand
表 4.1. Red Hat Developer Hub 中可用的 problem Add-ons
TechDocs Add-onpackage/Plugin描述类型

<ReportIssue />

backstage-plugin-techdocs-module-addons-contrib

在 TechDocs 页面中选择一部分文本,并针对包含文档的存储库打开问题。issue 模板自动填充所选文本。

预安装

<TextSize />

backstage-plugin-techdocs-module-addons-contrib

通过使用滑块或按钮增加或减少字体大小,在文档页面上自定义文本大小。字体大小为 100%,此设置会在浏览器的本地存储被改变时保存在浏览器的本地存储中。

外部

<LightBox />

backstage-plugin-techdocs-module-addons-contrib

在文档页面的 light-box 中打开镜像,以导航到单个页面上的多个镜像。light-box 镜像的镜像大小与文档页面中的镜像大小相同。点缩放图标会增加镜像大小以适应屏幕。

外部

backstage-plugin-wagon-module-addons-contrib 插件软件包会将红帽提供的预安装和外部附加组件导出到 TechDocs 插件。此插件软件包在 Red Hat Developer Hub 上预安装,并默认启用。如果禁用了插件软件包,则软件包导出的所有 TechDocs 附加组件也会被禁用。

4.1. 安装和配置 TechDocs 附加组件

红帽支持的"backstage-plugin-5-4-module-addons-module-addons-contrib"插件软件包(在 Red Hat Developer Hub 上预安装并默认启用)后,红帽支持的附加组件会被导出到 TechDocs 插件中。& lt;Report Isue /> 附加组件是此插件软件包的默认配置的一部分,可在 TechDocs 插件中使用。

您可以通过配置 Red Hat Developer Hub ConfigMap 或 Helm chart 中的'backstage-plugin-wagon-module-addons-contrib' 插件软件包来安装其他支持的 TechDocs 附加组件,具体取决于您使用的 Operator 或 Helm Chart 进行安装。如果要在支持的附加组件之外自定义 TechDocs 体验,您可以在 TechDocs 插件上安装第三方附加组件,包括您自己创建的附加组件。

您可以使用动态插件将 TechDocs 附加组件导入到 TechDocs 插件中。如果使用 Red Hat Developer Hub Operator 安装动态插件,您可以在 ConfigMap 中的 plugin 软件包中添加 TechDocs 附加组件。

预安装附加组件(如 ReportIssue )包含在默认的 backstage-plugin-5-4-module-addons-contrib 软件包中 配置中。红帽支持的外部附加组件通过将它们添加到配置文件的 HEKETI Addons 部分来安装。

流程

  1. 从 OpenShift Container Platform Web 控制台中的 Developer 视角,点 ConfigMaps > Create ConfigMap
  2. Create ConfigMap 页面中,在 Configure via 字段中选择 YAML view 选项。
  3. 在新创建的 ConfigMap 中,添加默认的 backstage-plugin- swig-module-addons-contrib 软件包配置。例如:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: dynamic-plugins-rhdh
    data:
      dynamic-plugins.yaml: |
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib
            disabled: false
            pluginConfig:
              dynamicPlugins:
                frontend:
                  backstage.plugin-techdocs-module-addons-contrib:
                    techdocsAddons:
                      - importName: ReportIssue
    Copy to Clipboard Toggle word wrap
  4. 在 ConfigMap 的 HEKETIAddons 部分中,为您要从指定插件软件包添加的每个外部 TechDocs 附加组件添加 importName: <external_techdocs_add-on>。例如:

    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: dynamic-plugins-rhdh
    data:
      dynamic-plugins.yaml: |
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib
            disabled: false
            pluginConfig:
              dynamicPlugins:
                frontend:
                  backstage.plugin-techdocs-module-addons-contrib:
                    techdocsAddons:
                      - importName: ReportIssue
                      - importName: <external_techdocs_add-on>
    Copy to Clipboard Toggle word wrap

    其中:

    <external_techdocs_add-on>
    指定要安装的外部 TechDocs 附加组件,如 TextSizeLightBox
  5. Create
  6. 在 Web 控制台导航菜单中,单击 Topology
  7. 点您要使用的 Red Hat Developer Hub 实例的溢出菜单,然后选择 Edit Backstage 以加载 Red Hat Developer Hub 实例的 YAML 视图。
  8. Backstage CR 中,添加 dynamicPluginsConfigMapName: & lt;dynamic_plugins_configmap > 键值对。例如:

    apiVersion: rhdh.redhat.com/v1alpha3
    kind: Backstage
    metadata:
      name: my-rhdh
    spec:
      application:
    # ...
        dynamicPluginsConfigMapName: _<dynamic_plugins_configmap>_
    # ...
    Copy to Clipboard Toggle word wrap

    其中:

    <dynamic_plugins_configmap>
    为您的 Red Hat Developer Hub 实例指定动态插件 ConfigMap 的名称,如 dynamic-plugins-rhdh
  9. 点击 Save
  10. 在 Web 控制台导航菜单中,点 Topology 并等待 Red Hat Developer Hub pod 启动。
  11. Open URL 图标以使用 Red Hat Developer Hub 平台以及新的配置更改。

您可以使用动态插件将 TechDocs 附加组件导入到 TechDocs 插件中。如果使用 Red Hat Developer Hub Helm Chart 安装动态插件,您可以在 Helm chart 的 plugin 软件包中添加 TechDocs 附加组件。

预安装附加组件(如 ReportIssue )包含在默认的 backstage-plugin-5-4-module-addons-contrib 软件包中 配置中。红帽支持的外部附加组件通过将它们添加到配置文件的 HEKETI Addons 部分来安装。

先决条件

  • TechDocs 插件已安装并启用。

流程

  1. 在 Helm Chart 中,添加安装动态插件所需的 global.dynamic 参数,如使用 Helm Chart 安装动态插件 所示

    注意

    默认配置包含 dynamic-plugins.default.yaml 文件,其中包含所有动态插件,包括 TechDocs 附加组件,这些插件已在 Red Hat Developer Hub 中预安装,无论是默认启用还是禁用。

  2. 在 Helm Chart 中,添加默认的 backstage-plugin-5-4-module-addons-contrib 软件包配置。例如:

    global:
      dynamic:
        plugins:
          - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib
            disabled: false
            pluginConfig:
              dynamicPlugins:
                frontend:
                  backstage.plugin-techdocs-module-addons-contrib:
                    techdocsAddons:
                      - importName: ReportIssue
    Copy to Clipboard Toggle word wrap
  3. 在 Helm Chart 的 HEKETI Addons 部分中,为您要从指定插件软件包添加的每个外部 TechDocs 附加组件添加 importName: <external_techdocs_add-on>。例如:

    global:
      dynamic:
        plugins:
          - package: ./dynamic-plugins/dist/backstage-plugin-techdocs-module-addons-contrib
            disabled: false
            pluginConfig:
              dynamicPlugins:
                frontend:
                  backstage.plugin-techdocs-module-addons-contrib:
                    techdocsAddons:
                      - importName: ReportIssue
                      - importName: <external_techdocs_add-on>
    Copy to Clipboard Toggle word wrap

    其中:

    <external_techdocs_add-on>
    指定要安装的外部 TechDocs 附加组件,如 TextSizeLightBox

4.1.3. 安装和配置第三方 TechDocs 附加组件

您可以作为前端动态插件在 Red Hat Developer Hub 实例上安装兼容的第三方 TechDocs 附加组件。

先决条件

  • 第三方 TechDocs 附加组件在其根目录中有一个有效的 package.json 文件,其中包含所有必需的元数据和依赖项。
  • 第三方插件打包在 OCI 镜像中作为动态插件。有关替代软件包类型,请参阅在 Red Hat Developer Hub 中安装第三方插件
  • 已安装 yarn 软件包管理器。
  • 第三方插件被打包为 OCI 镜像 configured and configured Node.js 和 NPM 中的动态插件。

流程

  1. 输入以下命令安装您要用来导入第三方附加组件的第三方插件:

    yarn install
    Copy to Clipboard Toggle word wrap
  2. 获取您要使用的第三方 TechDocs 附加组件的源代码。
  3. 使用以下命令将 TechDocs 附加组件导出为动态插件:

    npx @red-hat-developer-hub/cli@latest plugin export
    Copy to Clipboard Toggle word wrap
    注意

    @latest 标签拉取 @red-hat-developer-hub/cli 软件包的最新版本,该软件包与最新的功能和修复程序兼容。使用与 Red Hat Developer Hub 版本兼容的版本。

  4. 要将第三方 TechDocs 附加组件打包为动态插件,请导航到存储插件的根目录(而不是 dist-dynamic 目录),并使用-- tag 选项运行 npx 命令以指定镜像名称和标签。例如:

    npx @red-hat-developer-hub/cli@latest plugin package --tag quay.io/<user_name>/<techdocs_add-on_image>:latest
    Copy to Clipboard Toggle word wrap
    注意

    package-dynamic-plugins 命令的输出提供了插件的文件路径,以便在 dynamic-plugin-config.yaml 文件中使用。

  5. 要将第三方 TechDocs 附加组件发布到 Quay 存储库,请使用以下其中一个命令将镜像推送到 registry,具体取决于您的虚拟化工具:

    • 要使用 podman,请输入以下命令:

      podman push quay.io/<user_name>/<techdocs_add-on_image>:latest
      Copy to Clipboard Toggle word wrap
    • 要使用 docker,请输入以下命令:

      docker push quay.io/<user_name>/<techdocs_add-on_image>:latest
      Copy to Clipboard Toggle word wrap
  6. 打开您的 dynamic-plugins.yaml 文件,以查看或修改第三方 TechDocs 附加组件的配置。例如:

    plugins:
          - package: oci://quay.io/<user_name>/<techdocs_add-on_image>:latest!<techdocs_add-on_package>
            disabled: false
            pluginConfig:
              dynamicPlugins:
                frontend:
                 <techdocs_add-on_package>
                    techdocsAddons:
                      - importName: <third-party_add-on_name>
                       config:
                          props:
                           <techdocs_add-on_property_key>: <techdocs_add-on_property_value>
    Copy to Clipboard Toggle word wrap

    其中

    <user_name>
    指定您的 Quay 用户名或机构名称。
    <techdocs_add-on_image>
    指定要使用的第三方附加组件的镜像名称,例如 mermaid
    <techdocs_add-on_package>
    指定,例如 backstage-plugin-5-4-addon-mermaid
    <third-party_add-on_name>
    指定您要使用的第三方附加组件的名称,例如 Mermaid
    <techdocs_add-on_property_key>
    指定可传递给第三方附加组件的自定义属性名称,例如,me Variables。属性特定于每个附加组件。您可以列出附加组件的多个属性。
    <techdocs_add-on_property_value>
    指定第三方附加组件的 property 键的值,例如 lineColor: #000000
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat