11.4. 自定义动态主页以优化您的工作流


您可以使用拖放、调整大小和小部件管理功能来自定义主页,以满足您的首选项。

您可以使用自定义主页执行以下操作:

  • 拖放 :移动卡围绕布局
  • 调整大小 :调整卡维度
  • 添加小部件 :从可用卡中选择以添加到主页
  • 删除卡 :从主页中删除卡
  • 恢复默认 :重置为原始卡配置
  • 用户持久性 :设置会根据您使用 Backstage Storage API 的方式保存

根据已安装和已启用的插件自动显示其他卡。插件提供以下两个主要组件:

  • DynamicHomePage :显示没有自定义配置的卡的只读主页。
  • DynamicCustomizableHomePage :允许用户移动、调整大小和管理卡的交互式主页。

默认主页默认情况下会显示 OnboardingSection 卡、EntitySectionTemplateSection 卡。这些卡定义了不同响应级别的卡的默认宽度(w)和高度(h)。

主页会自动加载以下配置:

dynamicPlugins:
  frontend:
    red-hat-developer-hub.backstage-plugin-dynamic-home-page:
      dynamicRoutes:
        - path: /
          importName: DynamicHomePage
      mountPoints:
        - mountPoint: home.page/cards
          importName: OnboardingSection
          config:
            layouts:
              xl: { w: 12, h: 6 }
              lg: { w: 12, h: 6 }
              md: { w: 12, h: 7 }
              sm: { w: 12, h: 8 }
              xs: { w: 12, h: 9 }
              xxs: { w: 12, h: 14 }
        - mountPoint: home.page/cards
          importName: EntitySection
          config:
            layouts:
              xl: { w: 12, h: 7 }
              lg: { w: 12, h: 7 }
              md: { w: 12, h: 8 }
              sm: { w: 12, h: 9 }
              xs: { w: 12, h: 11 }
              xxs: { w: 12, h: 15 }
        - mountPoint: home.page/cards
          importName: TemplateSection
          config:
            layouts:
              xl: { w: 12, h: 5 }
              lg: { w: 12, h: 5 }
              md: { w: 12, h: 5 }
              sm: { w: 12, h: 5 }
              xs: { w: 12, h: 7 }
              xxs: { w: 12, h: 13 }
              xs: { w: 12, h: 7.5 }
              xxs: { w: 12, h: 13.5 }
Copy to Clipboard Toggle word wrap

流程

  • 您可以使用拖放和调整其尺寸功能来安排卡并调整其尺寸。以下是您可以添加、删除、移动和调整大小卡的交互式主页示例:

    dynamicPlugins:
      frontend:
        red-hat-developer-hub.backstage-plugin-dynamic-home-page:
          dynamicRoutes:
            - path: /
              importName: DynamicCustomizableHomePage
          mountPoints:
             - mountPoint: home.page/cards
               importName: OnboardingSection
               config:
                layouts:
                  xl: { w: 12, h: 6 }
                  lg: { w: 12, h: 6 }
                  md: { w: 12, h: 7 }
                  sm: { w: 12, h: 8 }
                  xs: { w: 12, h: 9 }
                  xxs: { w: 12, h: 14 }
            - mountPoint: home.page/cards
              importName: EntitySection
              config:
                layouts:
                  xl: { w: 12, h: 7 }
                  lg: { w: 12, h: 7 }
                  md: { w: 12, h: 8 }
                  sm: { w: 12, h: 9 }
                  xs: { w: 12, h: 11 }
                  xxs: { w: 12, h: 15 }
            - mountPoint: home.page/cards
              importName: TemplateSection
              config:
                layouts:
                  xl: { w: 12, h: 5 }
                  lg: { w: 12, h: 5 }
                  md: { w: 12, h: 5 }
                  sm: { w: 12, h: 5 }
                  xs: { w: 12, h: 7.5 }
                  xxs: { w: 12, h: 13.5 }
            # Additional cards available in "Add widget" dialog
            - mountPoint: home.page/cards
              importName: RecentlyVisitedCard
            - mountPoint: home.page/cards
              importName: TopVisitedCard
    Copy to Clipboard Toggle word wrap
  • 您可以通过覆盖动态主页插件的 title 属性来更改标题,如下例所示:

    dynamicPlugins:
      frontend:
        red-hat-developer-hub.backstage-plugin-dynamic-home-page:
          dynamicRoutes:
            - path: /
              importName: DynamicHomePage # or DynamicCustomizableHomePage for customizable homepage
              config:
                props:
                  title: 'Howdy {{firstName}} or {{displayName}}'
    Copy to Clipboard Toggle word wrap

    title 属性支持两个变量:

  • {{displayName}} :包含目录实体的完整 displayName
  • {{firstname}} :这包含 displayName 的第一个部分(以空格分开)。
  • 您可以使用默认不使用的子 标题 属性,如下例所示:

    dynamicPlugins:
      frontend:
        red-hat-developer-hub.backstage-plugin-dynamic-home-page:
          dynamicRoutes:
            - path: /
              importName: DynamicHomePage # or DynamicCustomizableHomePage
              config:
                props:
                  title: Our custom RHDH instance
                   subtitle: 'Hello {{displayName}}'
    Copy to Clipboard Toggle word wrap
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部