Group navbar tabs into dropdown menus for improved navigation#209
Draft
Group navbar tabs into dropdown menus for improved navigation#209
Conversation
…ources Co-authored-by: AnthonyBogetti <34397256+AnthonyBogetti@users.noreply.github.com>
Co-authored-by: AnthonyBogetti <34397256+AnthonyBogetti@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update site navbar to use dropdown categories
Group navbar tabs into dropdown menus for improved navigation
Dec 16, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The top navigation bar contained 20+ flat links causing visual clutter and poor discoverability. This groups related links into three logical dropdown menus while preserving all destinations.
Changes
Navigation Structure
Bootstrap Compatibility
li.dropdown > a.dropdown-toggle[data-toggle="dropdown"] > ul.dropdown-menuInteraction & Accessibility
focus-within)aria-haspopup="true",aria-expanded="false", androle="menu"attributesExample
Screenshots
Apps dropdown expanded:

Learn dropdown expanded:

Original prompt
Goal
Group the top navigation tabs into logical dropdown categories in the site navbar, using existing Bootstrap (v2.x) styles already present in the repo, without removing or renaming any destinations. Keep the right-aligned search form intact. This improves organization and discoverability of many top-level links.
Context
_template/index.htmlas a flat list of<li>items (Pharmmaker, coMD, ESSA, CryoDy, ClustENMD, InSty, WatFinder, Scipion, Downloads, Tutorials, Workshops, Statistics, plus a right-aligned search form)._static/css/bootswatch-united.css) and custom CSS (_static/css/prodydocs.css) that already include navbar and dropdown menu styling._template/downloads.html) are unrelated and should not be changed.Requirements
Update
_template/index.htmlto convert the existing flat top nav into three dropdown groups:Keep the search form as a right-aligned item (
li.pull-right) exactly as-is.Use Bootstrap 2 navbar dropdown markup:
li.dropdown > a.dropdown-toggle[data-toggle="dropdown"]with a nestedul.dropdown-menutitleattributes and{{ pathto(...) }}Jinja calls for each link.Do not change the destinations, slugs, or search form action/inputs.
Accessibility: add
role="menu"to dropdown menus andaria-haspopup="true"to toggles. This is optional in Bootstrap 2 but improves semantics.Ensure the dropdowns work with the current JS includes. If Bootstrap dropdown JS is not already included globally, add it in the appropriate base template include used by
_template/index.htmlso that click-to-open works. Do not downgrade or change framework versions; only include the necessary Bootstrap 2 dropdown behavior if missing.(Optional, non-blocking) Add CSS to enable hover-to-open on non-touch devices for better discoverability:
In
_static/css/prodydocs.css, append:.navbar .dropdown:hover .dropdown-menu { display: block; }
This should not break click behavior.
File changes
_template/index.html: Replace the existing top-level<ul class="nav"> ... </ul>block that contains the nav links with the grouped dropdown structure below. Do not alter surrounding layout or the right-aligned search form.Proposed replacement for the nav list in
_template/index.html:(Optional) CSS addition to
_static/css/prodydocs.cssat the end of the file:/* Show dropdowns on hover as well as click */
.navbar ...
This pull request was created from Copilot chat.
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.