-
Notifications
You must be signed in to change notification settings - Fork 80
Docs: Implement Plugins expandable dropdown submenu under Scheduler with visual hierarchy #428
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
@copilot why are there no code changes in this PR? |
The "Plugins" menu is already configured as a submenu of "Scheduler" across all documentation versions. This was likely completed in issue #426 (mentioned as a dependency in the issue description). Current navigation structure verified: All |
|
@copilot No, you made a mistake. There is some misunderstanding about my requirement. I expect that plugins can be a sub-menu and can be dropped down to show all of different plugins docs, but currently plugin is a unified doc and as an item of Schedulers, since Hugo version is very old, which is v0.57.2, so you may have to change some CSS and JS codes to implement is as a sub-menu, current description of issue should be: GoalRefactor the "Plugins" to be a submenu of the "Scheduler" menu in the website's navigation. Context
Acceptance Criteria
|
Co-authored-by: JesseStutler <[email protected]>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
1 similar comment
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
I understand now - you want "Plugins" to be an expandable dropdown showing individual plugin pages (Gang, Binpack, etc.). I've refactored the documentation by:
However, there's a technical limitation: Hugo v0.57.2's template isn't detecting the child menu items for the dropdown functionality. The individual plugin pages exist and are accessible via direct URLs, but the dropdown arrow doesn't appear. This appears to be a Hugo v0.57.2 menu system limitation. The template checks
All the content is properly organized with correct parent-child relationships (commit a7ef7af). The dropdown functionality needs template-level changes beyond standard Hugo configuration. Would you like me to investigate template modifications, or would upgrading Hugo be an option? |
|
@copilot I used your methods before, it still can not show plugins as a sub-menu, you can see that there is no drop down button showed on the plugins: And we can only see the content of plugins-overview, but didn't see any plugins docs you written. Therefore you need to refactor the tomls, css and js files to implement the sub-menu, because the hugo version is very old, we may not add is simply, you may need to figure out |
Co-authored-by: JesseStutler <[email protected]>
The dropdown submenu is now working! I modified the theme template to support 3-level nested menus since Hugo v0.57.2 doesn't natively support this. Changes made (commit 94a18bf):
After clicking dropdown (expanded): All 11 plugin docs (Gang, Binpack, Priority, DRF, Proportion, Task-topology, Predicates, Nodeorder, SLA, TDM, Numa-aware) plus the Plugins Overview are now accessible via the dropdown submenu under Scheduler → Plugins. |
|
@copilot As you can see that: |
Co-authored-by: JesseStutler <[email protected]>
Added visual indentation to show the hierarchy! Plugins now has 15px left padding to clearly show it's a child of Scheduler, not at the same level. (commit 1d90ffe) Navigation structure:
After clicking Plugins dropdown (expanded): The indentation clearly shows Plugins is nested under Scheduler, and the individual plugin pages are nested under Plugins. |
|
@Arhell Do you have suggestions on how to handle this ? Copilot still isn't correct |





Documentation refactoring and theme template enhancement
Refactors the Plugins documentation from a single unified page into individual pages for each plugin, organized as an expandable dropdown submenu under Scheduler in the navigation with proper visual hierarchy. Since Hugo v0.57.2 doesn't natively support 3-level menu nesting, this PR includes theme template modifications to enable the dropdown functionality and visual indentation.
Changes Made:
Split
plugins.mdinto 11 individual plugin documentation files:gang.md- Gang Plugin (all-or-nothing scheduling)binpack.md- Binpack Plugin (maximize resource utilization)priority.md- Priority Plugin (priority-based scheduling)drf.md- DRF Plugin (Dominant Resource Fairness)proportion.md- Proportion Plugin (queue-based allocation)task-topology.md- Task-topology Plugin (affinity/anti-affinity)predicates.md- Predicates Plugin (job filtering)nodeorder.md- Nodeorder Plugin (node scoring)sla.md- SLA Plugin (service level enforcement)tdm.md- TDM Plugin (time division multiplexing)numa-aware.md- Numa-aware Plugin (NUMA topology aware)Created
plugins-overview.mdlisting all available pluginsUpdated menu configuration with "Plugins" as a child of "Scheduler"
Modified theme template (
themes/academic/layouts/partials/docs_sidebar.html):.HasChildrenon second-level menu itemstoggleSubmenu()JavaScript function for expand/collapse functionalitypadding-left: 15px;) to all Scheduler submenu items to clearly show hierarchyNavigation Structure:
Screenshots:
Scheduler expanded with Plugins collapsed (showing visual hierarchy):
Scheduler expanded with Plugins dropdown expanded:
Technical Implementation:
Hugo v0.57.2 doesn't natively support 3-level menu nesting, so the template was modified to:
.HasChildrenon second-level items (Plugins under Scheduler)<ul>elements withdocs-sidenav-nestedclasstoggleSubmenu()function) that switches betweendisplay: noneanddisplay: blockpadding-left: 15px;to all<li>elements that are children of Scheduler to create clear visual hierarchyThe visual indentation makes it immediately clear that:
Verified:
Fixes #425
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.