10.3. Developer Hub インスタンスのサイドバーメニュー項目のカスタマイズ
Red Hat Developer Hub のサイドバーメニューは、設定可能な 2 つの主要な部分で構成されています。
- 動的プラグインメニュー項目
- 設定とアクティブなプラグインによって、サイドバーメニューの一部が動的に定義されます。
- メインメニュー項目
サイドバーのコアナビゲーション構造は静的です。
- 動的プラグインメニュー項目: これらの項目はメインメニューの下に表示され、インストールされているプラグインに基づいてカスタマイズできます。メインメニュー項目セクションは動的であり、設定やインストールされているプラグインに基づいて変更できます。
10.3.1. Developer Hub インスタンスのサイドバーメニュー項目のカスタマイズ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
次の手順に従って、メインメニュー項目をカスタマイズします。
手順
app-config.yamlファイルを開きます。-
メインメニュー項目の順序と親子関係をカスタマイズするには、
dynamicPlugins.frontend.default.main-menu-items.menuItemsフィールドを使用します。 -
動的プラグインのメニュー項目の場合は、
dynamicPlugins.frontend.<package_name>.menuItemsフィールドを使用します。
-
メインメニュー項目の順序と親子関係をカスタマイズするには、
app-config.yaml ファイルの例
dynamicPlugins:
frontend:
default.main-menu-items:
menuItems:
default.home:
title: Home
icon: home
priority: 100
enabled: true
default.my-group:
title: My Group
icon: group
priority: 90
enabled: true
default.catalog:
title: Catalog
icon: category
to: catalog
priority: 80
enabled: true
default.apis:
title: APIs
icon: extension
to: api-docs
priority: 70
enabled: true
default.learning-path:
title: Learning Paths
icon: school,
to: learning-paths
priority: 60
enabled: true
default.create:
title: Self-service
icon: add
to: create
priority: 50
enabled: true
10.3.2. Developer Hub インスタンスの動的プラグインメニュー項目を設定する リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
次の手順で動的プラグインメニュー項目を設定します。
手順
app-config.yamlファイルで、<plugin_name> プラグインのmenuItemsセクションを更新します。以下に例を示します。dynamicPlugins: frontend: _<plugin_name>_:1 menuItems: <menu_item_name>:2 icon: # home | group | category | extension | school | _<my_icon>_3 title: _<plugin_page_title>_4 priority: 105 parent: favorites6 enabled: true7 - 1
<plugin_name>: プラグイン名を入力します。この名前は、package.jsonファイルのscalprum.nameキーと同じです。- 2
<menu_item_name>: メインサイドバーナビゲーションのスタンドアロンメニュー項目または親メニュー項目に使用する一意の名前を入力します。このフィールドでプラグインメニュー項目を指定する場合、メニュー項目の名前がdynamicRoutes内の対応するパスで使用されている名前と一致する必要があります。たとえば、dynamicRoutesがpath: /my-pluginを定義した場合は、menu_item_nameをmy-pluginとして定義する必要があります。- 3
icon: (オプション) アイコン名を入力します。次のいずれかのアイコンを使用できます。-
home、group、category、extension、schoolなどのデフォルトのアイコン。デフォルトのアイコンを使用するには、アイコンを空の文字列 (" ") として設定します。 - カスタムアイコン。<my_icon> はカスタムアイコンの名前を指定します。
-
SVG アイコン。たとえば、
icon: <svg width="20px" height="20px" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg" fill="#ffffff">…</svg>です。 -
HTML イメージ。たとえば、
icon: https://img.icons8.com/ios-glyphs/20/FFFFFF/shop.pngです。
-
- 4
title: (オプション) メニュー項目のタイトルを入力します。dynamicRoutes設定のmenuItem.textでタイトルがすでに指定されている場合は省略します。サイドバーからタイトルを非表示にするには、タイトルを空の文字列 (" ") として設定します。- 5
priority: (オプション) サイドバーに表示されるメニュー項目の順序を設定します。デフォルトの優先度は 0 で、項目はリストの一番下に配置されます。優先度の値が高いほど、その項目はサイドバー内の上の方に表示されます。このフィールドはセクションごとに定義できます。- 6
parent: (オプション) 現在の項目がネストされる親メニュー項目を入力します。このフィールドを使用する場合、有効なプラグインのmenuItems設定内の他の場所で、親メニュー項目を定義する必要があります。このフィールドはセクションごとに定義できます。- 7
enabled: (オプション) このフィールドを使用してサイドバーのメニュー項目を非表示にする場合は、値をfalseに設定します。サイドバーにメニュー項目を表示するには、値をtrueに設定します。
menuItemsの設定例dynamicPlugins: frontend: _<package_name>_: dynamicRoutes: - path: /my-plugin module: CustomModule importName: FooPluginPage menuItem: icon: fooIcon text: Foo Plugin Page menuItems: my-plugin:1 priority: 102 parent: favorites3 favorites:4 icon: favorite5 title: Favorites6 priority: 1007
10.3.3. Developer Hub インスタンスのカスタムメニュー項目の変更または追加 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
次の手順でメインメニュー項目を変更するか、カスタムメニュー項目を追加します。
手順
app-config.yamlファイルで、default.main-menu-items>menuItemsセクションにセクションを追加します。キーをメインメニュー項目として指定するには、default.接頭辞を使用します。dynamicPlugins: frontend: default.main-menu-items: menuItems: default._<menu_group_parent_item_name>_:1 icon: # home | group | category | extension | school | _<my_icon>_2 title: _<menu_group_parent_title>_3 priority: 104 default._<menu_item_name>_:5 parent: _<menu_group_parent_item_name>_6 icon: # home | group | category | extension | school | _<my_icon>_7 title: _<my_menu_title>_8 to: _<path_to_the_menu_target_page>_9 priority: 10010 enabled: true11 - 1
default.<menu_group_parent_item_name>: (オプション) 静的なメインメニュー項目を設定するには、メニューグループの親項目名を入力します。default.<menu_item_name>にparent値が設定されていない場合、このフィールドは必要ありません。- 2
icon: メニューアイコンを入力します。親メニュー項目に必須です。- 3
title: メニューグループのタイトルを入力します。親メニュー項目に必須です。- 4
priority: (オプション) メニューレベル内におけるこのメニュー項目の順序を入力します。- 5
default.<menu_item_name>: デフォルト値をオーバーライドするメニュー項目名を入力します。メインメニュー項目を指定するためのdefault.接頭辞を追加します。- 6
parent: (オプション) この項目の親メニュー項目を入力します。<menu_item_name> がメニュー項目の子として指定されている場合は必須です。- 7
icon: (オプション) メニューアイコンを入力します。デフォルトのアイコンを使用するには、アイコンを空の文字列 (" ") として設定します。- 8
title: (オプション) メニューグループのタイトルを入力します。新しいカスタムメインメニュー項目を追加する場合にのみ必要です。サイドバーからデフォルトのメインメニュー項目のタイトルを非表示にするには、タイトルを空の文字列 (" ") として設定します。- 9
to: (オプション) メニュー項目の移動先のパスを入力します。設定されていない場合は、デフォルトで Home ページに設定されます。- 10
priority: (オプション) メニューレベル内におけるこのメニュー項目の順序を入力します。- 11
enabled: (オプション) このフィールドを使用してサイドバーにメニュー項目を表示する場合は、値をtrueに設定します。サイドバーからメニュー項目を非表示にするには、値をfalseに設定します。
mainItemsの設定例default.main-menu-items: menuItems: default.catalog: icon: category1 title: My Catalog priority: 5 default.learning-path: title: ''2 default.parentlist:3 title: Overview icon: bookmarks default.home: parent: default.parentlist4 default.references: title: References5 icon: school6 to: /references7 enabled: true8 - 1
icon: カタログのアイコンのデフォルトメニュー項目を変更するかどうかを指定します。- 2
title: デフォルトのサイドバーからラーニングパスを非表示にするには、空の文字列" "を指定します。- 3
default.parentlist: 親メニュー項目を取り込みます。- 4
parent:default.parentlist親メニュー項目の下にホームメニューをネストします。- 5
title:default.referencesの名前を指定します。- 6
icon:schoolアイコンを表示します。- 7
to:default.referencesを/referencesページにリダイレクトします。- 8
enabled: (オプション) このフィールドを使用してサイドバーにメニュー項目を表示する場合は、値をtrueに設定します。サイドバーからメニュー項目を非表示にするには、値をfalseに設定します。