You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ossie.apache.org by jb...@apache.org on 2026/07/07 21:09:49 UTC

(ossie-website) branch main updated: Add ASF menu dropdown to the header

This is an automated email from the ASF dual-hosted git repository.

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/ossie-website.git


The following commit(s) were added to refs/heads/main by this push:
     new 37fd3bc  Add ASF menu dropdown to the header
37fd3bc is described below

commit 37fd3bca71127a52863cc27f5eab06ba1e46db7d
Author: JB Onofré <jb...@apache.org>
AuthorDate: Tue Jul 7 23:09:39 2026 +0200

    Add ASF menu dropdown to the header
    
    Add an "ASF" dropdown in the top-right of the header, matching the
    convention used by other Apache project sites, linking to the
    Foundation, License, Events, Sponsorship, Privacy, Security, and
    Thanks pages. Opens on hover and keyboard/tap focus with no JavaScript.
---
 docs/assets/stylesheets/global.css | 79 ++++++++++++++++++++++++++++++++++++++
 overrides/partials/header.html     | 21 +++++++++-
 2 files changed, 99 insertions(+), 1 deletion(-)

diff --git a/docs/assets/stylesheets/global.css b/docs/assets/stylesheets/global.css
index ee41ffb..aee6f0c 100644
--- a/docs/assets/stylesheets/global.css
+++ b/docs/assets/stylesheets/global.css
@@ -345,6 +345,85 @@ h6, .h6, .md-typeset h6 {
   color: var(--ossie-primary-blue);
 }
 
+/* ASF menu (top-right dropdown) */
+.md-header__asf {
+  position: relative;
+}
+
+.md-header__asf-trigger {
+  display: inline-flex;
+  align-items: center;
+  gap: 0.15rem;
+  background: none;
+  border: none;
+  cursor: pointer;
+  color: var(--ossie-gray-700);
+  font-size: 0.75rem;
+  font-weight: 500;
+  font-family: inherit;
+  padding: 0.35rem 0;
+  transition: color 0.15s;
+}
+
+.md-header__asf-trigger:hover,
+.md-header__asf:hover .md-header__asf-trigger,
+.md-header__asf:focus-within .md-header__asf-trigger {
+  color: var(--ossie-primary-blue);
+}
+
+.md-header__asf-caret {
+  width: 0.85em;
+  height: 0.85em;
+  transition: transform 0.15s;
+}
+
+.md-header__asf:hover .md-header__asf-caret,
+.md-header__asf:focus-within .md-header__asf-caret {
+  transform: rotate(180deg);
+}
+
+.md-header__asf-menu {
+  position: absolute;
+  top: 100%;
+  right: 0;
+  min-width: 11rem;
+  margin: 0.4rem 0 0;
+  padding: 0.35rem 0;
+  list-style: none;
+  background-color: var(--ossie-white);
+  border: 1px solid var(--ossie-gray-200);
+  border-radius: 0.5rem;
+  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
+  opacity: 0;
+  visibility: hidden;
+  transform: translateY(-0.25rem);
+  transition: opacity 0.15s, transform 0.15s, visibility 0.15s;
+  z-index: 10;
+}
+
+.md-header__asf:hover .md-header__asf-menu,
+.md-header__asf:focus-within .md-header__asf-menu {
+  opacity: 1;
+  visibility: visible;
+  transform: translateY(0);
+}
+
+.md-header__asf-menu a {
+  display: block;
+  padding: 0.4rem 1rem;
+  color: var(--ossie-gray-700);
+  font-size: 0.75rem;
+  font-weight: 500;
+  white-space: nowrap;
+  transition: background-color 0.15s, color 0.15s;
+}
+
+.md-header__asf-menu a:hover,
+.md-header__asf-menu a:focus {
+  background-color: var(--ossie-ice-blue);
+  color: var(--ossie-primary-blue);
+}
+
 @media (max-width: 76.1875em) {
   .md-header__center {
     display: none;
diff --git a/overrides/partials/header.html b/overrides/partials/header.html
index 2fe306c..9b72c21 100644
--- a/overrides/partials/header.html
+++ b/overrides/partials/header.html
@@ -56,7 +56,26 @@
       </ul>
     </div>
 
-    <div class="md-header__right"></div>
+    <!-- Right: Apache Software Foundation menu -->
+    <div class="md-header__right">
+      <div class="md-header__asf">
+        <button type="button" class="md-header__asf-trigger" aria-haspopup="true" aria-expanded="false">
+          ASF
+          <svg class="md-header__asf-caret" viewBox="0 0 24 24" aria-hidden="true">
+            <path d="M7 10l5 5 5-5z" fill="currentColor"/>
+          </svg>
+        </button>
+        <ul class="md-header__asf-menu" role="menu">
+          <li role="none"><a role="menuitem" href="https://www.apache.org/" target="_blank" rel="noopener">Foundation</a></li>
+          <li role="none"><a role="menuitem" href="https://www.apache.org/licenses/" target="_blank" rel="noopener">License</a></li>
+          <li role="none"><a role="menuitem" href="https://www.apache.org/events/current-event.html" target="_blank" rel="noopener">Events</a></li>
+          <li role="none"><a role="menuitem" href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener">Sponsorship</a></li>
+          <li role="none"><a role="menuitem" href="https://privacy.apache.org/policies/privacy-policy-public.html" target="_blank" rel="noopener">Privacy</a></li>
+          <li role="none"><a role="menuitem" href="https://www.apache.org/security/" target="_blank" rel="noopener">Security</a></li>
+          <li role="none"><a role="menuitem" href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener">Thanks</a></li>
+        </ul>
+      </div>
+    </div>
 
   </nav>
 </header>