1.20. 動的プラグインからカスタム Backstage テーマを読み込む
この更新により、動的プラグインからカスタム Backstage テーマをロードできるようになりました。
手順
以下のように、テーマプロバイダー関数を動的プラグインにエクスポートします。
import { lightTheme } from './lightTheme'; // some custom theme import { UnifiedThemeProvider } from '@backstage/theme'; export const lightThemeProvider = ({ children }: { children: ReactNode }) => ( <UnifiedThemeProvider theme={lightTheme} children={children} /> );
新しい
themes
設定フィールドを使用して、UI にテーマをロードするように Developer Hub を設定します。dynamicPlugins: frontend: example.my-custom-theme-plugin: themes: - id: light 1 title: Light variant: light icon: someIconReference importName: lightThemeProvider
- 1
- テーマ ID を設定します。必要に応じて、次の ID 値を指定して、デフォルトの Developer Hub テーマをオーバーライドします。
light
はデフォルトのライトテーマをオーバーライドし、dark
はデフォルトのダークテーマをオーバーライドします。
検証
- テーマは "Settings" ページで利用できます。
この更新により、動的プラグインからコア API サービスファクトリーをオーバーライドする機能も導入されました。これは、Developer Hub フロントエンドにカスタム ScmAuth 設定を提供するなど、より特化したユースケースに役立ちます。