docs(structure): reorganize website content and navigation - #704
docs(structure): reorganize website content and navigation#704singhsrijan46 wants to merge 1 commit into
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: singhsrijan46 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
✅ Deploy Preview for project-hami ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Welcome @singhsrijan46! It looks like this is your first PR to Project-HAMi/website 🎉 |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (2)
📝 WalkthroughWalkthroughChangesArchitecture view
Estimated code review effort: 3 (Moderate) | ~20 minutes Sequence Diagram(s)sequenceDiagram
participant Home
participant archMode
participant modeConfigurations
participant ArchitectureDiagram
Home->>archMode: set HAMi Device Plugin or HAMi-DRA
archMode->>modeConfigurations: select active configuration
modeConfigurations->>ArchitectureDiagram: provide pipeline and resource semantics
ArchitectureDiagram-->>Home: render selected architecture view
Suggested reviewers: 🚥 Pre-merge checks | ✅ 2 | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✅ Passed checks (2 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 10
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
sidebars.js (1)
94-141: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick winThe reorganization removes sidebar entries for documents that still exist. Both sidebars drop the device-specific user-guide categories and collapse
Get Startedto a single document. The removed documents remain indocs/andversioned_docs/version-v2.9.0/, so they become unlisted. Docusaurus warns about unlisted documents, and users lose navigation access to them.
sidebars.js#L94-L141: restore sidebar entries for the device documents underdocs/userguide/, or link them fromdocs/userguide/device-supported.md.sidebars.js#L18-L22: list the remainingdocs/get-started/documents, includingget-started/verify-hami, under aGet Startedcategory.versioned_sidebars/version-v2.9.0-sidebars.json#L92-L131: apply the same device-document fix to the v2.9.0 snapshot.versioned_sidebars/version-v2.9.0-sidebars.json#L18-L22: apply the sameGet Startedfix to the v2.9.0 snapshot.#!/bin/bash # Report every doc that no sidebar lists, for both current and versioned docs check() { root="$1"; sidebar="$2" fd . "$root" --extension md --extension mdx \ | sed "s|^${root}/||; s|\.mdx\?$||" | sort -u \ | while IFS= read -r id; do rg -qF "$id" "$sidebar" || echo "UNLISTED [$root]: $id" done } check docs sidebars.js check versioned_docs/version-v2.9.0 versioned_sidebars/version-v2.9.0-sidebars.json🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@sidebars.js` around lines 94 - 141, Restore the removed device-specific documentation entries in sidebars.js lines 94-141, linking them under the existing device navigation or from device-supported.md; update sidebars.js lines 18-22 to list all remaining docs/get-started documents, including get-started/verify-hami, under Get Started. Apply the equivalent device-document restoration in versioned_sidebars/version-v2.9.0-sidebars.json lines 92-131 and the complete Get Started listing in lines 18-22, ensuring every current and v2.9.0 document remains discoverable.
🧹 Nitpick comments (2)
src/pages/styles.module.css (1)
707-727: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueOptional: replace
!importantwith an equally specific selector.
color:#ffffff!importantat Line 725 exists because.archModeBtn:hoverat Line 719 is more specific than.archModeBtnActive. Raising the specificity of the active rule removes the need for!importantin the light theme.♻️ Proposed refactor
-.archModeBtnActive { +.archModeBtn.archModeBtnActive, +.archModeBtn.archModeBtnActive:hover { background: `#10b981`; - color: `#ffffff` !important; + color: `#ffffff`; box-shadow: 0 2px 8px rgba(16, 185, 129, 0.35); }🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/pages/styles.module.css` around lines 707 - 727, Update the .archModeBtnActive rule to match or exceed the specificity of .archModeBtn:hover, allowing the active color declaration to remove !important while preserving the white active-state text color.src/pages/index.js (1)
904-928: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low valueOptional: drive the lanes and the resource block from the data.
Two small couplings exist:
- Line 905 and Line 906 index
lanes[0]andlanes[1]directly. Both modes define exactly two lanes today, so this works. Mapping overactiveMode.lanesremoves the assumption.- Line 914 branches on
activeMode.key, but each mode already declaresresources.type("extended"/"dra"). That field is never read. Use one source of truth, or removeresources.type.Also confirm that the empty
runtimeResourcesDividerspan at Line 925 is intended as spacing only. Thehamibranch renders+in the same element.♻️ Proposed refactor for the lane grid
<div className={styles.runtimeLaneGrid}> - <RuntimeLaneCard lane={activeMode.lanes[0]} locale={i18n.currentLocale} /> - <RuntimeLaneCard lane={activeMode.lanes[1]} locale={i18n.currentLocale} /> + {activeMode.lanes.map((lane) => ( + <RuntimeLaneCard + key={lane.key} + lane={lane} + locale={i18n.currentLocale} + /> + ))} </div>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/pages/index.js` around lines 904 - 928, Update the runtime lane grid around RuntimeLaneCard to map over activeMode.lanes instead of indexing lanes[0] and lanes[1]. Replace the activeMode.key resource branch with the existing activeMode.resources.type field, or remove that unused field if the key remains the intended source; also verify whether the empty runtimeResourcesDivider span is intentional spacing and preserve or simplify it accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@docs/get-started/deploy-with-helm.md`:
- Around line 86-99: Update the GPU isolation output documentation: in
docs/get-started/deploy-with-helm.md lines 86-99, change “Expected output” to
“Example output” and state that driver, CUDA, GPU model, and usage values vary
by environment while retaining 10240MiB as the hard memory-limit assertion;
apply the equivalent clarification in
i18n/zh/docusaurus-plugin-content-docs/current/get-started/deploy-with-helm.md
lines 86-99,
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/get-started/deploy-with-helm.md
lines 86-99, and versioned_docs/version-v2.9.0/get-started/deploy-with-helm.md
lines 86-99.
In `@docs/installation/online-installation.md`:
- Around line 17-31: The documentation presents two sequential Helm installs
with the same release name. In docs/installation/online-installation.md lines
17-31, replace the customization command with the corresponding helm upgrade
command; apply the same correction in
i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md
lines 18-32,
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md
lines 18-32, and
versioned_docs/version-v2.9.0/installation/online-installation.md lines 17-31,
clarifying that customization is performed as an alternative upgrade after the
initial deployment.
- Line 6: Update the online installation flow to add the required gpu=on
node-label command before helm install in
docs/installation/online-installation.md:6,
i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md:7,
versioned_docs/version-v2.9.0/installation/online-installation.md:6, and
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md:7;
keep the English and Chinese current/v2.9.0 snapshots consistent.
In `@docs/userguide/device-supported.md`:
- Around line 22-36: Keep the Device Capability Summary aligned with the support
matrix by adding AWS Neuron with verified Memory Isolation, Core Isolation, and
MultiCard Support values, or explicitly scoping the summary to documented
manufacturers. Apply the same consistent update to
docs/userguide/device-supported.md lines 22-36,
i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md
lines 23-37, versioned_docs/version-v2.9.0/userguide/device-supported.md lines
22-36, and
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md
lines 23-37.
In `@docs/userguide/nvidia-device/dynamic-mig-support.md`:
- Around line 5-10: Update the supported-component pill styles in
docs/userguide/nvidia-device/dynamic-mig-support.md lines 5-10,
docs/userguide/nvidia-device/dynamic-resource-allocation.md lines 6-11, and
i18n/zh/docusaurus-plugin-content-docs/current/userguide/nvidia-device/dynamic-mig-support.md
lines 6-11: replace the bright backgrounds or white text with accessible
contrast for every listed pill, and preserve a clearly visible keyboard focus
style on the links.
In `@i18n/zh/docusaurus-plugin-content-docs/current.json`:
- Around line 6-13: Add the four missing generated-index translation keys for
the Introduction and Design and Develop categories in the Chinese translations,
covering each link title and description. Generate them with docusaurus
write-translations --locale zh, then replace the generated English values with
appropriate Chinese translations while preserving the existing category keys.
In
`@i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md`:
- Line 16: Standardize the manufacturer name from “Mthreads” to “Moore Threads”
in both the current and v2.9.0 Chinese device-supported documentation tables,
updating the matching capability rows as well as the GPU rows:
i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md
lines 16 and 32, and
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md
lines 16 and 32.
In `@sidebars.js`:
- Around line 59-67: The category in sidebars.js lines 59-67 must no longer mix
KAI-scheduler and unrelated installation guides: move the Web UI and AWS
installation entries to a content-appropriate category, keep
userguide/kai-scheduler/how-to-use-kai-scheduler only in its existing single
location, and update the corresponding Chinese label in
i18n/zh/docusaurus-plugin-content-docs/current.json line 39. In
versioned_sidebars/version-v2.9.0-sidebars.json lines 59-66, rename the category
to match the two installation documents or add the v2.9.0 KAI-scheduler document
if that snapshot contains one.
In `@src/pages/index.js`:
- Around line 844-867: Update the archModeToggle group around the two mode
buttons to include an accessible group label, and add aria-pressed to each
button based on whether archMode matches its mode value. Preserve the existing
visual active-state classes and click behavior.
- Around line 869-885: Remove the duplicate aria-label from either the outer
article or inner runtimeDiagramFrame, retaining a single accessible title.
Replace role="img" on the inner runtimeDiagramFrame with an appropriate group
role so its descendant lane steps, notes, and resource text remain exposed to
assistive technology.
---
Outside diff comments:
In `@sidebars.js`:
- Around line 94-141: Restore the removed device-specific documentation entries
in sidebars.js lines 94-141, linking them under the existing device navigation
or from device-supported.md; update sidebars.js lines 18-22 to list all
remaining docs/get-started documents, including get-started/verify-hami, under
Get Started. Apply the equivalent device-document restoration in
versioned_sidebars/version-v2.9.0-sidebars.json lines 92-131 and the complete
Get Started listing in lines 18-22, ensuring every current and v2.9.0 document
remains discoverable.
---
Nitpick comments:
In `@src/pages/index.js`:
- Around line 904-928: Update the runtime lane grid around RuntimeLaneCard to
map over activeMode.lanes instead of indexing lanes[0] and lanes[1]. Replace the
activeMode.key resource branch with the existing activeMode.resources.type
field, or remove that unused field if the key remains the intended source; also
verify whether the empty runtimeResourcesDivider span is intentional spacing and
preserve or simplify it accordingly.
In `@src/pages/styles.module.css`:
- Around line 707-727: Update the .archModeBtnActive rule to match or exceed the
specificity of .archModeBtn:hover, allowing the active color declaration to
remove !important while preserving the white active-state text color.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro Plus
Run ID: f9d73a05-a344-40c2-b19d-3d7327e7cebd
⛔ Files ignored due to path filters (1)
package-lock.jsonis excluded by!**/package-lock.json
📒 Files selected for processing (21)
docs/get-started/deploy-with-helm.mddocs/installation/online-installation.mddocs/userguide/device-supported.mddocs/userguide/nvidia-device/dynamic-mig-support.mddocs/userguide/nvidia-device/dynamic-resource-allocation.mdi18n/zh/docusaurus-plugin-content-docs/current.jsoni18n/zh/docusaurus-plugin-content-docs/current/get-started/deploy-with-helm.mdi18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.mdi18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.mdi18n/zh/docusaurus-plugin-content-docs/current/userguide/nvidia-device/dynamic-mig-support.mdi18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/get-started/deploy-with-helm.mdi18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.mdi18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.mdpackage.jsonsidebars.jssrc/pages/index.jssrc/pages/styles.module.cssversioned_docs/version-v2.9.0/get-started/deploy-with-helm.mdversioned_docs/version-v2.9.0/installation/online-installation.mdversioned_docs/version-v2.9.0/userguide/device-supported.mdversioned_sidebars/version-v2.9.0-sidebars.json
| Expected output showing HAMi-core hard memory limit (`10240MiB`): | ||
|
|
||
| ```text | ||
| [HAMI-core Msg(28:140561996502848:libvgpu.c:836)]: Initializing..... | ||
| Wed Apr 10 09:28:58 2024 | ||
| [HAMI-core Msg]: Initializing..... | ||
| +-----------------------------------------------------------------------------------------+ | ||
| | NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 | | ||
| |-----------------------------------------+------------------------+----------------------+ | ||
| | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | ||
| | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | ||
| | | | MIG M. | | ||
| |=========================================+========================+======================| | ||
| | 0 Tesla V100-PCIE-32GB On | 00000000:3E:00.0 Off | 0 | | ||
| | N/A 29C P0 24W / 250W | 0MiB / 10240MiB | 0% Default | | ||
| | | | N/A | | ||
| +-----------------------------------------+------------------------+----------------------+ | ||
|
|
||
| +-----------------------------------------------------------------------------------------+ | ||
| | Processes: | | ||
| | GPU GI CI PID Type Process name GPU Memory | | ||
| | ID ID Usage | | ||
| |=========================================================================================| | ||
| | No running processes found | | ||
| +-----------------------------------------------------------------------------------------+ | ||
| [HAMI-core Msg(28:140561996502848:multiprocess_memory_limit.c:434)]: Calling exit handler 28 | ||
| ``` |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Use representative output for the GPU isolation example.
The current block presents node-specific values as expected output. Keep the 10240MiB memory limit as the assertion, and label the remaining values as environment-dependent.
docs/get-started/deploy-with-helm.md#L86-L99: change “Expected output” to “Example output” and note that driver, CUDA, GPU model, and usage values vary.i18n/zh/docusaurus-plugin-content-docs/current/get-started/deploy-with-helm.md#L86-L99: change the Chinese wording to identify the block as example output and document environment-dependent fields.i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/get-started/deploy-with-helm.md#L86-L99: apply the same representative-output clarification.versioned_docs/version-v2.9.0/get-started/deploy-with-helm.md#L86-L99: apply the same representative-output clarification.
📍 Affects 4 files
docs/get-started/deploy-with-helm.md#L86-L99(this comment)i18n/zh/docusaurus-plugin-content-docs/current/get-started/deploy-with-helm.md#L86-L99i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/get-started/deploy-with-helm.md#L86-L99versioned_docs/version-v2.9.0/get-started/deploy-with-helm.md#L86-L99
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/get-started/deploy-with-helm.md` around lines 86 - 99, Update the GPU
isolation output documentation: in docs/get-started/deploy-with-helm.md lines
86-99, change “Expected output” to “Example output” and state that driver, CUDA,
GPU model, and usage values vary by environment while retaining 10240MiB as the
hard memory-limit assertion; apply the equivalent clarification in
i18n/zh/docusaurus-plugin-content-docs/current/get-started/deploy-with-helm.md
lines 86-99,
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/get-started/deploy-with-helm.md
lines 86-99, and versioned_docs/version-v2.9.0/get-started/deploy-with-helm.md
lines 86-99.
| --- | ||
|
|
||
| The recommended way to deploy HAMi is via Helm. | ||
| The recommended way to deploy HAMi in a Kubernetes cluster is via the official Helm chart. |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 3 'gpu=on|nodeSelector|nodeSelectorTerms|hami-device-plugin' .Repository: Project-HAMi/website
Length of output: 50379
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== target files =="
for f in \
docs/installation/online-installation.md \
i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md \
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md \
versioned_docs/version-v2.9.0/installation/online-installation.md \
docs/get-started/deploy-with-helm.md \
i18n/zh/docusaurus-plugin-content-docs/current/get-started/deploy-with-helm.md \
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/get-started/deploy-with-helm.md \
docs/installation/prerequisites.md \
i18n/zh/docusaurus-plugin-content-docs/current/installation/prerequisites.md \
versioned_docs/version-v2.9.0/installation/prerequisites.md
do
if [ -f "$f" ]; then
echo "--- $f"
wc -l "$f"
rg -n 'Label your nodes|label your nodes|label your GPU nodes|标记节点|gpu=on|helm install|helm repo|install hami|hami-scheduler|hami-device-plugin|nodeSelector|nodeSelectorTerms|--set|value' "$f" || true
fi
done
echo "== quick focused search for exact default/config contracts =="
rg -n 'nodeSelector|gpu=on|label.*nodes.*gpu| HAMi .*label|label.*HAMi|unlabeled|without.*label|not managed|不能*管理|不会由 HAMi 管理|节点未标注|no action required|MIG|mode.*hami-core|ENABLE_GPU_NODE' docs i18n versioned_docs --glob '!**/node_modules/**' --glob '!**/dist/**' | head -n 200Repository: Project-HAMi/website
Length of output: 37819
🌐 Web query:
HAMi helm chart default nodeSelector gpu=on hami-device-plugin nodeSelector
💡 Result:
In the HAMi Helm chart, the default nodeSelector for the NVIDIA device plugin is configured as {"gpu": "on"} [1][2][3]. This setting instructs the hami-device-plugin DaemonSet to only deploy on Kubernetes nodes that have been labeled with gpu=on [4][5]. Key details: - Helm Parameter: The default value for the parameter devicePlugin.nvidiaNodeSelector is {"gpu": "on"} [1][2]. - Implementation: In the Helm chart templates, this is applied to the DaemonSet via the nodeSelector field: {{- if.Values.devicePlugin.nvidiaNodeSelector }} nodeSelector: {{ toYaml.Values.devicePlugin.nvidiaNodeSelector | nindent 8 }} {{- end }} [5] - Node Labeling: Users are required to label their GPU nodes accordingly for the plugin to be scheduled: kubectl label nodes gpu=on [4] If you wish to change this default behavior, you can override the parameter during Helm installation or upgrade using the --set flag: helm install hami hami-charts/hami --set devicePlugin.nvidiaNodeSelector.gpu=off
Citations:
- 1: https://github.com/Project-HAMi/HAMi/blob/master/charts/hami/README.md
- 2: https://github.com/Project-HAMi/HAMi/blob/c005cbd1/charts/hami/README.md
- 3: https://github.com/Project-HAMi/HAMi/tree/master/charts/hami
- 4: https://project-hami.io/docs/get-started/deploy-with-helm
- 5: https://github.com/Project-HAMi/HAMi/blob/c005cbd1/charts/hami/templates/device-plugin/daemonsetnvidia.yaml
Require the gpu=on node-label step in the online installation flow.
The Helm chart defaults devicePlugin.nvidiaNodeSelector to gpu=on for the NVIDIA DaemonSet, so nodes without that label do not get hami-device-plugin pods. Add the node-labelling step before helm install in the online-installation pages and keep the v2.9.0 and Chinese snapshots consistent.
📍 Affects 4 files
docs/installation/online-installation.md#L6-L6(this comment)i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md#L7-L7i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md#L7-L7versioned_docs/version-v2.9.0/installation/online-installation.md#L6-L6
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/installation/online-installation.md` at line 6, Update the online
installation flow to add the required gpu=on node-label command before helm
install in docs/installation/online-installation.md:6,
i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md:7,
versioned_docs/version-v2.9.0/installation/online-installation.md:6, and
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md:7;
keep the English and Chinese current/v2.9.0 snapshots consistent.
| ## 2. Deploy HAMi {#deploy-hami} | ||
|
|
||
| A Kubernetes version is required for proper installation. You can retrieve your Kubernetes server version with: | ||
| Deploy HAMi into the `kube-system` namespace using standard Helm installation: | ||
|
|
||
| ```bash | ||
| kubectl version | ||
| helm install hami hami-charts/hami -n kube-system | ||
| ``` | ||
|
|
||
| ## Installation | ||
| ### Customizing Helm Configurations | ||
|
|
||
| Ensure the `scheduler.kubeScheduler.image.tag` matches your Kubernetes server version. For instance, if your cluster server is v1.29.0, use the following command to deploy: | ||
| You can customize your deployment by passing parameters with `--set` or providing a custom `values.yaml` file: | ||
|
|
||
| ```bash | ||
| helm install hami hami-charts/hami --set scheduler.kubeScheduler.image.tag=v1.29.0 -n kube-system | ||
| helm install hami hami-charts/hami -n kube-system -f custom-values.yaml | ||
| ``` |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Make the custom Helm command an alternative or an upgrade.
The documentation currently shows two sequential helm install hami commands. The second command fails because the release name already exists.
docs/installation/online-installation.md#L17-L31: replace the second command withhelm upgrade hami hami-charts/hami -n kube-system -f custom-values.yaml, or mark it as an alternative.i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md#L18-L32: apply the same Helm command correction and clarify the execution order.i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md#L18-L32: apply the same correction in the v2.9.0 Chinese snapshot.versioned_docs/version-v2.9.0/installation/online-installation.md#L17-L31: apply the same correction in the v2.9.0 English snapshot.
📍 Affects 4 files
docs/installation/online-installation.md#L17-L31(this comment)i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md#L18-L32i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md#L18-L32versioned_docs/version-v2.9.0/installation/online-installation.md#L17-L31
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/installation/online-installation.md` around lines 17 - 31, The
documentation presents two sequential Helm installs with the same release name.
In docs/installation/online-installation.md lines 17-31, replace the
customization command with the corresponding helm upgrade command; apply the
same correction in
i18n/zh/docusaurus-plugin-content-docs/current/installation/online-installation.md
lines 18-32,
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/installation/online-installation.md
lines 18-32, and
versioned_docs/version-v2.9.0/installation/online-installation.md lines 17-31,
clarifying that customization is performed as an alternative upgrade after the
initial deployment.
| ## Device Capability Summary | ||
|
|
||
| | Manufacturer | Memory Isolation | Core Isolation | MultiCard Support | | ||
| | ------------ | ---------------- | -------------- | ----------------- | | ||
| | NVIDIA | Yes | Yes | Yes | | ||
| | Cambricon | Yes | Yes | No | | ||
| | Hygon | Yes | Yes | No | | ||
| | Huawei Ascend | Yes | Yes | No | | ||
| | Iluvatar | Yes | Yes | No | | ||
| | Moore Threads | Yes | Yes | No | | ||
| | MetaX | Yes | Yes | No | | ||
| | Enflame | Yes | Yes | No | | ||
| | Kunlunxin | Yes | Yes | No | | ||
| | Vastai | Yes | Yes | No | | ||
| | Teco DPU | In progress | In progress | No | |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
Keep the capability summary aligned with the support matrix.
The support matrix adds AWS Neuron, but each capability summary omits it. Add verified capability values, or explicitly scope the summary to manufacturers with documented capability data.
docs/userguide/device-supported.md#L22-L36: add or scope the AWS Neuron entry inDevice Capability Summary.i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md#L23-L37: add or scope the AWS Neuron entry in设备隔离与特性汇总.versioned_docs/version-v2.9.0/userguide/device-supported.md#L22-L36: keep the v2.9.0 summary consistent with its support matrix.i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md#L23-L37: keep the v2.9.0 Chinese summary consistent with its support matrix.
📍 Affects 4 files
docs/userguide/device-supported.md#L22-L36(this comment)i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md#L23-L37versioned_docs/version-v2.9.0/userguide/device-supported.md#L22-L36i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md#L23-L37
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/userguide/device-supported.md` around lines 22 - 36, Keep the Device
Capability Summary aligned with the support matrix by adding AWS Neuron with
verified Memory Isolation, Core Isolation, and MultiCard Support values, or
explicitly scoping the summary to documented manufacturers. Apply the same
consistent update to docs/userguide/device-supported.md lines 22-36,
i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md
lines 23-37, versioned_docs/version-v2.9.0/userguide/device-supported.md lines
22-36, and
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md
lines 23-37.
| <div style={{ display: 'flex', alignItems: 'center', gap: '8px', marginBottom: '20px', flexWrap: 'wrap' }}> | ||
| <strong style={{ fontSize: '0.9rem' }}>Supported Components:</strong> | ||
| <a href="/docs/get-started/deploy-with-helm" style={{ display: 'inline-block', padding: '3px 12px', borderRadius: '12px', background: '#10b981', color: '#fff', fontWeight: 600, fontSize: '0.82rem', textDecoration: 'none' }}>HAMi</a> | ||
| <a href="/docs/userguide/volcano-vgpu/nvidia-gpu/how-to-use-volcano-vgpu" style={{ display: 'inline-block', padding: '3px 12px', borderRadius: '12px', background: '#3b82f6', color: '#fff', fontWeight: 600, fontSize: '0.82rem', textDecoration: 'none' }}>Volcano</a> | ||
| <a href="/docs/userguide/nvidia-device/dynamic-resource-allocation" style={{ display: 'inline-block', padding: '3px 12px', borderRadius: '12px', background: '#8b5cf6', color: '#fff', fontWeight: 600, fontSize: '0.82rem', textDecoration: 'none' }}>HAMi-DRA</a> | ||
| </div> |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Fix contrast for the supported-component pills.
All three banners use small white text on bright backgrounds. Use darker backgrounds or dark text, and preserve a visible keyboard focus style.
docs/userguide/nvidia-device/dynamic-mig-support.md#L5-L10: update the HAMi, Volcano, and HAMi-DRA pill colors.docs/userguide/nvidia-device/dynamic-resource-allocation.md#L6-L11: update the HAMi-DRA, HAMi, and CDI Support pill colors.i18n/zh/docusaurus-plugin-content-docs/current/userguide/nvidia-device/dynamic-mig-support.md#L6-L11: mirror the accessible colors in the Chinese banner.
📍 Affects 3 files
docs/userguide/nvidia-device/dynamic-mig-support.md#L5-L10(this comment)docs/userguide/nvidia-device/dynamic-resource-allocation.md#L6-L11i18n/zh/docusaurus-plugin-content-docs/current/userguide/nvidia-device/dynamic-mig-support.md#L6-L11
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/userguide/nvidia-device/dynamic-mig-support.md` around lines 5 - 10,
Update the supported-component pill styles in
docs/userguide/nvidia-device/dynamic-mig-support.md lines 5-10,
docs/userguide/nvidia-device/dynamic-resource-allocation.md lines 6-11, and
i18n/zh/docusaurus-plugin-content-docs/current/userguide/nvidia-device/dynamic-mig-support.md
lines 6-11: replace the bright backgrounds or white text with accessible
contrast for every listed pill, and preserve a clearly visible keyboard focus
style on the links.
| "sidebar.docs.category.Introduction": { | ||
| "message": "简介", | ||
| "description": "The label for category 'Introduction' in sidebar 'docs'" | ||
| }, | ||
| "sidebar.docs.category.Design and Develop": { | ||
| "message": "设计与开发", | ||
| "description": "The label for category 'Design and Develop' in sidebar 'docs'" | ||
| }, |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Show all keys currently defined for the two new categories
rg -n 'sidebar\.docs\.category\.(Introduction|Design and Develop)' i18n/zh/docusaurus-plugin-content-docs/current.json
echo "----- existing generated-index keys for comparison -----"
rg -n 'generated-index' i18n/zh/docusaurus-plugin-content-docs/current.jsonRepository: Project-HAMi/website
Length of output: 2868
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "----- locate sidebars files -----"
fd -a 'sidebars.*' . | sed 's#^\./##'
echo "----- sidebars category definitions -----"
for f in $(fd 'sidebars.*' .); do
echo "### $f"
rg -n -C 6 'category.*link|Introduction|Design and Develop' "$f" || true
done
echo "----- package command / docusaurus version -----"
if [ -f package.json ]; then
node - <<'JS'
const fs = require('fs');
const pkg = JSON.parse(fs.readFileSync('package.json','utf8'));
console.log('dependencies', pkg.dependencies && Object.fromEntries(Object.entries(pkg.dependencies).filter(([k])=>k.includes('docusaurus'))));
console.log('devDependencies', pkg.devDependencies && Object.fromEntries(Object.entries(pkg.devDependencies).filter(([k])=>k.includes('docusaurus'))));
console.log('scripts', pkg.scripts || {});
JS
fi
echo "----- translation file snippet -----"
sed -n '1,35p;168,236p' i18n/zh/docusaurus-plugin-content-docs/current.jsonRepository: Project-HAMi/website
Length of output: 12212
🌐 Web query:
Docusaurus plugin-content-docs category generated-index link translation keys generated-index.title description
💡 Result:
In Docusaurus, the generated-index page for a sidebar category can be translated using specific keys in your i18n translation files [1]. When a category uses a generated-index link, its title and description are translated using the following key pattern based on the category's key or label [1]: sidebar.[sidebarName].category.[categoryKey].link.generated-index.title sidebar.[sidebarName].category.[categoryKey].link.generated-index.description In these keys: - [sidebarName] is the name of your sidebar (as defined in sidebars.js or sidebars.ts) [1]. - [categoryKey] is the unique key of the category. If a custom key is provided (via category.json or sidebar configuration), that key is used [2]. If no custom key is provided, the category's label is used as the key [1]. Important Implementation Details: - Lookup Logic: The translation system uses category.key?? category.label to identify the correct category [1][2]. It is critical that your translation keys match this resolution logic; otherwise, the translations will not be applied [2]. - Pagination Fixes: Recent updates have ensured that these translated titles are correctly propagated to pagination links (previous/next) at the bottom of documentation pages [3][4]. Previously, these pagination links often displayed the untranslated English title even when other parts of the site were localized [5][4][6]. If you find that your generated-index pages are not displaying translated content, verify that: 1. The translation files (e.g., in i18n/[locale]/docusaurus-plugin-content-docs/current.json) correctly define these specific keys [1][7][4]. 2. You are using the correct category key if you have defined one in category.json [2]. 3. Your Docusaurus version is up to date, as issues regarding the propagation of these translations to pagination were addressed in releases leading up to mid-2026 [8][4].
Citations:
- 1: https://github.com/facebook/docusaurus/blob/6192b6a9/packages/docusaurus-plugin-content-docs/src/translations.ts
- 2: fix(content-docs): use category key for generated-index translation lookup facebook/docusaurus#11743
- 3: facebook/docusaurus@9af9f9c
- 4: fix(content-docs): translate generated-index category titles in pagination links facebook/docusaurus#11794
- 5: Generated category index page title not translated in pagination link facebook/docusaurus#8118
- 6: fix(content-docs): translate generated index pagination title facebook/docusaurus#8123
- 7: [i18n] Making everything translatable (website title, description...) facebook/docusaurus#4542
- 8: https://npmx.dev/package-changelog/@docusaurus/plugin-content-docs/v/3.10.1
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "----- installed Docusaurus translations.ts location if node_modules exists -----"
fd -a 'translations.ts' . | rg 'docusaurus-plugin-content-docs|plugin-content-docs' || true
if [ -f node_modules/@docusaurus/plugin-content-docs/src/translations.ts ]; then
echo "----- generated-index translation generation -----"
rg -n -C 8 'generated-index|generatedIndex|generated Index|generated index|categoryKey|category\.key' node_modules/@docusaurus/plugin-content-docs/src/translations.ts
else
echo "node_modules/@docusaurus/plugin-content-docs/src/translations.ts not present"
fi
echo "----- all docs plugin translation file occurrences for introduced categories -----"
python3 - <<'PY'
import json, pathlib
p = pathlib.Path('i18n/zh/docusaurus-plugin-content-docs/current.json')
try:
data = json.loads(p.read_text())
except Exception as e:
print(f'ERROR: {e}')
raise
for needle in [
'sidebar.docs.category.Introduction',
'sidebar.docs.category.Design and Develop',
]:
hits = [k for k in data if k.startswith(needle)]
hits = sorted(hits, key=len)
print(f'{needle}:')
for h in hits[:20]:
print(' - ', h)
print()
PYRepository: Project-HAMi/website
Length of output: 4629
Add the missing generated-index translation keys.
Introduction and Design and Develop use link.type: "generated-index" with English title and description, but i18n/zh/.../current.json only defines the category label keys. As a result, the localized generated-index pages still render those English strings. Add matching keys for both categories:
sidebar.docs.category.Introduction.link.generated-index.titlesidebar.docs.category.Introduction.link.generated-index.descriptionsidebar.docs.category.Design and Develop.link.generated-index.titlesidebar.docs.category.Design and Develop.link.generated-index.description
Run docusaurus write-translations --locale zh to generate the keys, then translate the values.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@i18n/zh/docusaurus-plugin-content-docs/current.json` around lines 6 - 13, Add
the four missing generated-index translation keys for the Introduction and
Design and Develop categories in the Chinese translations, covering each link
title and description. Generate them with docusaurus write-translations --locale
zh, then replace the generated English values with appropriate Chinese
translations while preserving the existing category keys.
Source: Coding guidelines
| | DCU | 海光(Hygon) | 全系列 | [支持](./hygon-device/enable-hygon-dcu-sharing) | - | - | - | | ||
| | NPU | 华为昇腾(Huawei Ascend) | 910B、910B3、910C、310P | [支持](./ascend-device/enable-ascend-sharing) | - | [支持](../installation/how-to-use-volcano-ascend) | - | | ||
| | GPU | 天数智芯(Iluvatar) | 全部 | [支持](./iluvatar-device/enable-iluvatar-gpu-sharing) | - | - | - | | ||
| | GPU | 摩尔线程(Mthreads) | MTT S4000 | [支持](./mthreads-device/enable-mthreads-gpu-sharing) | - | - | - | |
There was a problem hiding this comment.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Keep the manufacturer name consistent across Chinese snapshots.
i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md#L16-L16: replaceMthreadswithMoore Threadsand update the matching capability row at Line 32.i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md#L16-L16: replaceMthreadswithMoore Threadsand update the matching capability row at Line 32.
As per coding guidelines, when updating English documentation, mirror applicable changes in the Chinese documentation.
📍 Affects 2 files
i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md#L16-L16(this comment)i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md#L16-L16
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md`
at line 16, Standardize the manufacturer name from “Mthreads” to “Moore Threads”
in both the current and v2.9.0 Chinese device-supported documentation tables,
updating the matching capability rows as well as the GPU rows:
i18n/zh/docusaurus-plugin-content-docs/current/userguide/device-supported.md
lines 16 and 32, and
i18n/zh/docusaurus-plugin-content-docs/version-v2.9.0/userguide/device-supported.md
lines 16 and 32.
Source: Coding guidelines
| { | ||
| type: "category", | ||
| label: "KAI-scheduler-HAMi", | ||
| items: [ | ||
| "userguide/kai-scheduler/how-to-use-kai-scheduler", | ||
| "installation/webui-installation", | ||
| "installation/aws-installation", | ||
| ], | ||
| }, |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick win
The KAI-scheduler-HAMi category groups unrelated installation guides. Both sidebars place installation/webui-installation and installation/aws-installation under a category named for KAI-scheduler. Neither document relates to KAI-scheduler. In sidebars.js the category also repeats userguide/kai-scheduler/how-to-use-kai-scheduler, which Line 137 already lists in the same sidebar. The Chinese label at i18n/zh/docusaurus-plugin-content-docs/current.json Line 39 reads "KAI-scheduler-HAMi 集成", which repeats the same mismatch.
sidebars.js#L59-L67: moveinstallation/webui-installationandinstallation/aws-installationto a category that matches their content, and keepuserguide/kai-scheduler/how-to-use-kai-schedulerin one location only.versioned_sidebars/version-v2.9.0-sidebars.json#L59-L66: rename the category to match the two installation documents it contains, or add the v2.9.0 KAI-scheduler document if that snapshot has one.
📍 Affects 2 files
sidebars.js#L59-L67(this comment)versioned_sidebars/version-v2.9.0-sidebars.json#L59-L66
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@sidebars.js` around lines 59 - 67, The category in sidebars.js lines 59-67
must no longer mix KAI-scheduler and unrelated installation guides: move the Web
UI and AWS installation entries to a content-appropriate category, keep
userguide/kai-scheduler/how-to-use-kai-scheduler only in its existing single
location, and update the corresponding Chinese label in
i18n/zh/docusaurus-plugin-content-docs/current.json line 39. In
versioned_sidebars/version-v2.9.0-sidebars.json lines 59-66, rename the category
to match the two installation documents or add the v2.9.0 KAI-scheduler document
if that snapshot contains one.
| <div className={styles.archModeToggleRow}> | ||
| <div className={styles.archModeToggle}> | ||
| <button | ||
| type="button" | ||
| className={clsx( | ||
| styles.archModeBtn, | ||
| archMode === "hami" && styles.archModeBtnActive, | ||
| )} | ||
| onClick={() => setArchMode("hami")} | ||
| > | ||
| {pickLocalized(i18n.currentLocale, runtimeModesData.hami.label)} | ||
| </button> | ||
| <button | ||
| type="button" | ||
| className={clsx( | ||
| styles.archModeBtn, | ||
| archMode === "hami-dra" && styles.archModeBtnActive, | ||
| )} | ||
| onClick={() => setArchMode("hami-dra")} | ||
| > | ||
| {pickLocalized(i18n.currentLocale, runtimeModesData["hami-dra"].label)} | ||
| </button> | ||
| </div> | ||
| </div> |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Expose the selected mode to assistive technology.
The active mode is communicated only by background color. Screen reader users cannot determine the current selection. Add aria-pressed to each button and label the group.
♿ Proposed fix
- <div className={styles.archModeToggleRow}>
- <div className={styles.archModeToggle}>
+ <div className={styles.archModeToggleRow}>
+ <div
+ className={styles.archModeToggle}
+ role="group"
+ aria-label={isZh ? "架构模式选择" : "Architecture mode selection"}
+ >
<button
type="button"
+ aria-pressed={archMode === "hami"}
className={clsx(
styles.archModeBtn,
archMode === "hami" && styles.archModeBtnActive,
)}
onClick={() => setArchMode("hami")}
>
{pickLocalized(i18n.currentLocale, runtimeModesData.hami.label)}
</button>
<button
type="button"
+ aria-pressed={archMode === "hami-dra"}
className={clsx(
styles.archModeBtn,
archMode === "hami-dra" && styles.archModeBtnActive,
)}
onClick={() => setArchMode("hami-dra")}
>
{pickLocalized(i18n.currentLocale, runtimeModesData["hami-dra"].label)}
</button>
</div>
</div>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/pages/index.js` around lines 844 - 867, Update the archModeToggle group
around the two mode buttons to include an accessible group label, and add
aria-pressed to each button based on whether archMode matches its mode value.
Preserve the existing visual active-state classes and click behavior.
| <article | ||
| ref={addRevealRef} | ||
| data-reveal-scale="1" | ||
| className={clsx(styles.runtimeMechanism, styles.reveal)} | ||
| aria-label={isZh ? "HAMi 运行时机制架构图" : "HAMi runtime architecture diagram"} | ||
| aria-label={pickLocalized( | ||
| i18n.currentLocale, | ||
| (runtimeModesData[archMode] || runtimeModesData.hami).title, | ||
| )} | ||
| > | ||
| <div | ||
| className={styles.runtimeDiagramFrame} | ||
| role="img" | ||
| aria-label={isZh ? "HAMi 运行时机制架构图" : "HAMi runtime architecture diagram"} | ||
| > | ||
| <h3 className={styles.runtimeDiagramTitle}> | ||
| {pickLocalized(i18n.currentLocale, runtimeDiagramCopy.title)} | ||
| </h3> | ||
| <section className={styles.runtimeStage} data-runtime-part="entry"> | ||
| <span className={styles.runtimeSectionLabel}> | ||
| {pickLocalized(i18n.currentLocale, runtimeDiagramCopy.entryLabel)} | ||
| </span> | ||
| <div className={styles.runtimeStageCard}> | ||
| {pickLocalized(i18n.currentLocale, runtimeDiagramCopy.entryValue)} | ||
| </div> | ||
| </section> | ||
| <div className={styles.runtimeStageConnector} aria-hidden="true"> | ||
| <span className={styles.runtimeConnectorLine} /> | ||
| </div> | ||
| <section className={styles.runtimePipelineSection} data-runtime-part="pipeline"> | ||
| <div className={styles.runtimeLaneGrid}> | ||
| <RuntimeLaneCard lane={runtimeLanes[0]} locale={i18n.currentLocale} /> | ||
| <RuntimeLaneCard lane={runtimeLanes[1]} locale={i18n.currentLocale} /> | ||
| </div> | ||
| </section> | ||
| <section className={styles.runtimeResources} data-runtime-part="resources"> | ||
| <span className={styles.runtimeResourcesLabel}> | ||
| {isZh ? "资源语义" : "Resource Semantics"} | ||
| </span> | ||
| <div className={styles.runtimeResourcesValue}> | ||
| <code>nvidia.com/gpu</code> | ||
| <span className={styles.runtimeResourcesDivider}>+</span> | ||
| <code>gpumem</code> | ||
| <span className={styles.runtimeResourcesSlash}>/</span> | ||
| <code>gpucores</code> | ||
| {(() => { | ||
| const activeMode = runtimeModesData[archMode] || runtimeModesData.hami; | ||
| return ( | ||
| <div | ||
| className={styles.runtimeDiagramFrame} | ||
| role="img" | ||
| aria-label={pickLocalized(i18n.currentLocale, activeMode.title)} | ||
| > |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Remove the duplicate label and reconsider role="img" on text content.
Two problems exist in this wrapper:
- The
articleat Line 873 and the innerdivat Line 884 carry the samearia-label. Assistive technology announces the title twice. role="img"makes the element an atomic image. All descendant text is hidden from assistive technology. The lane steps, notes, and resource semantics rendered inside are therefore unreachable, and only the title is announced.
The diagram content here is real text, not a graphic. Keep it exposed and label it as a group.
♿ Proposed fix
<article
ref={addRevealRef}
data-reveal-scale="1"
className={clsx(styles.runtimeMechanism, styles.reveal)}
- aria-label={pickLocalized(
- i18n.currentLocale,
- (runtimeModesData[archMode] || runtimeModesData.hami).title,
- )}
>
{(() => {
const activeMode = runtimeModesData[archMode] || runtimeModesData.hami;
return (
- <div
- className={styles.runtimeDiagramFrame}
- role="img"
- aria-label={pickLocalized(i18n.currentLocale, activeMode.title)}
- >
+ <div className={styles.runtimeDiagramFrame} role="group">
<h3 className={styles.runtimeDiagramTitle}>
{pickLocalized(i18n.currentLocale, activeMode.title)}
</h3>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <article | |
| ref={addRevealRef} | |
| data-reveal-scale="1" | |
| className={clsx(styles.runtimeMechanism, styles.reveal)} | |
| aria-label={isZh ? "HAMi 运行时机制架构图" : "HAMi runtime architecture diagram"} | |
| aria-label={pickLocalized( | |
| i18n.currentLocale, | |
| (runtimeModesData[archMode] || runtimeModesData.hami).title, | |
| )} | |
| > | |
| <div | |
| className={styles.runtimeDiagramFrame} | |
| role="img" | |
| aria-label={isZh ? "HAMi 运行时机制架构图" : "HAMi runtime architecture diagram"} | |
| > | |
| <h3 className={styles.runtimeDiagramTitle}> | |
| {pickLocalized(i18n.currentLocale, runtimeDiagramCopy.title)} | |
| </h3> | |
| <section className={styles.runtimeStage} data-runtime-part="entry"> | |
| <span className={styles.runtimeSectionLabel}> | |
| {pickLocalized(i18n.currentLocale, runtimeDiagramCopy.entryLabel)} | |
| </span> | |
| <div className={styles.runtimeStageCard}> | |
| {pickLocalized(i18n.currentLocale, runtimeDiagramCopy.entryValue)} | |
| </div> | |
| </section> | |
| <div className={styles.runtimeStageConnector} aria-hidden="true"> | |
| <span className={styles.runtimeConnectorLine} /> | |
| </div> | |
| <section className={styles.runtimePipelineSection} data-runtime-part="pipeline"> | |
| <div className={styles.runtimeLaneGrid}> | |
| <RuntimeLaneCard lane={runtimeLanes[0]} locale={i18n.currentLocale} /> | |
| <RuntimeLaneCard lane={runtimeLanes[1]} locale={i18n.currentLocale} /> | |
| </div> | |
| </section> | |
| <section className={styles.runtimeResources} data-runtime-part="resources"> | |
| <span className={styles.runtimeResourcesLabel}> | |
| {isZh ? "资源语义" : "Resource Semantics"} | |
| </span> | |
| <div className={styles.runtimeResourcesValue}> | |
| <code>nvidia.com/gpu</code> | |
| <span className={styles.runtimeResourcesDivider}>+</span> | |
| <code>gpumem</code> | |
| <span className={styles.runtimeResourcesSlash}>/</span> | |
| <code>gpucores</code> | |
| {(() => { | |
| const activeMode = runtimeModesData[archMode] || runtimeModesData.hami; | |
| return ( | |
| <div | |
| className={styles.runtimeDiagramFrame} | |
| role="img" | |
| aria-label={pickLocalized(i18n.currentLocale, activeMode.title)} | |
| > | |
| <article | |
| ref={addRevealRef} | |
| data-reveal-scale="1" | |
| className={clsx(styles.runtimeMechanism, styles.reveal)} | |
| > | |
| {(() => { | |
| const activeMode = runtimeModesData[archMode] || runtimeModesData.hami; | |
| return ( | |
| <div className={styles.runtimeDiagramFrame} role="group"> |
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@src/pages/index.js` around lines 869 - 885, Remove the duplicate aria-label
from either the outer article or inner runtimeDiagramFrame, retaining a single
accessible title. Replace role="img" on the inner runtimeDiagramFrame with an
appropriate group role so its descendant lane steps, notes, and resource text
remain exposed to assistive technology.
|
please resolve these conflicts |
|
CC @rootsongjc |
|
@singhsrijan46 This is solid work, but the PR is large (22 files) and part of it overlaps with #684. Would you be open to splitting it into smaller PRs? Two reasons:
Suggested split:
A, C, and D are self-contained and can land first. E needs a closer look on its own — removing the 12 vendor categories orphans ~56 guide pages (examples, per-resource config, scheduling policy) that become reachable only by direct link. The One more note for E: the zh translation for the new v2.9.0 sidebar labels ( |
Signed-off-by: Srijan <singhsrijangkp@gmail.com>
9bdaadb to
09950d0
Compare
|
Thanks @archlitchi @rootsongjc for the feedback Here is what I have done:
|
What type of PR is this?
/kind documentation
/kind feature
What this PR does / why we need it:
Reorganized the docs and homepage architecture section to make website navigation easier and fix outdated commands.
Changes made:
src/pages/index.jsso users can switch between HAMi (Device Plugin) and HAMi-DRA.deploy-with-helm.md) instead of a category with sub-pages.kubectl versionstep and old--set scheduler.kubeScheduler.image.tag=v1.29.0flag fromonline-installation.md.device-supported.mdwith a matrix table for supported devices across HAMi, HAMi-DRA, Volcano-vGPU, and KAI-scheduler with links to guides.dynamic-mig-support.md.i18n/zh/) and synced changes withversion-v2.9.0.Navigation: Before vs Now
Which issue(s) this PR fixes:
Fixes #689
Checklist:
npm run lintandnpm run format:checkpassnpm run buildsucceeds for bothenandzhgit commit -s)Summary by CodeRabbit
New Features
Style