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

kaxil pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 15adc8a492a Add Durable Execution to the registry header navigation 
(#76775)
15adc8a492a is described below

commit 15adc8a492a6919f608995194474ac2d91284875
Author: Kaxil Naik <[email protected]>
AuthorDate: Tue Nov 10 11:31:15 2026 +0000

    Add Durable Execution to the registry header navigation (#76775)
    
    Link the cross-provider durable and deferrable operators page from the
    top-level menu next to Providers, and retitle the page and its existing
    links (Explore, Stats) to Durable Execution.
    
    Six links don't fit beside the logo and search below 1024px, so the full
    nav now starts at 1024px and narrower screens get the menu button. That
    menu rendered beside the header instead of under it, because the
    #site-header nav rules also matched it; it now drops down below the
    header, left-aligned with the logo.
---
 registry/src/_includes/base.njk |  2 ++
 registry/src/css/main.css       | 41 +++++++++++++++++++++++++++--------------
 registry/src/durable.njk        |  4 ++--
 registry/src/explore.njk        |  2 +-
 registry/src/stats.njk          |  2 +-
 5 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/registry/src/_includes/base.njk b/registry/src/_includes/base.njk
index 74553ffcf4c..6fda8fe52be 100644
--- a/registry/src/_includes/base.njk
+++ b/registry/src/_includes/base.njk
@@ -61,6 +61,7 @@
 
       <nav>
         <a href="{{ '/providers/' | url }}">Providers</a>
+        <a href="{{ '/durable/' | url }}">Durable Execution</a>
         <a href="{{ '/stats/' | url }}">Stats</a>
         <a href="{{ '/explore/' | url }}">Explore</a>
         <a href="{{ '/api-explorer/' | url }}">API Explorer</a>
@@ -97,6 +98,7 @@
 
       <nav id="mobile-nav">
         <a href="{{ '/providers/' | url }}">Providers</a>
+        <a href="{{ '/durable/' | url }}">Durable Execution</a>
         <a href="{{ '/stats/' | url }}">Stats</a>
         <a href="{{ '/explore/' | url }}">Explore</a>
         <a href="{{ '/api-explorer/' | url }}">API Explorer</a>
diff --git a/registry/src/css/main.css b/registry/src/css/main.css
index fca7395209a..cc7e035b47c 100644
--- a/registry/src/css/main.css
+++ b/registry/src/css/main.css
@@ -164,7 +164,7 @@
   margin-right: auto;
 }
 
-@media (min-width: 768px) {
+@media (min-width: 1024px) {
   #site-header nav {
     display: flex;
   }
@@ -199,11 +199,18 @@
 /* Header Search */
 #search-trigger {
   display: none;
+  margin-left: auto;
   padding: 0.375rem var(--space-2);
   background: var(--color-input-bg);
   border-color: var(--color-input-border);
 }
 
+@media (min-width: 1024px) {
+  #search-trigger {
+    margin-left: 0;
+  }
+}
+
 .js #search-trigger {
   display: flex;
 }
@@ -285,7 +292,7 @@
   color: var(--text-secondary);
 }
 
-@media (min-width: 768px) {
+@media (min-width: 1024px) {
   #mobile-menu-btn {
     display: none;
   }
@@ -296,28 +303,34 @@
   height: 1.25rem;
 }
 
-/* Mobile Nav */
-#mobile-nav {
+/* Mobile Nav: #site-header prefix outranks the #site-header nav rules above */
+#site-header #mobile-nav {
   display: none;
+  position: absolute;
+  top: 100%;
+  left: 0;
+  right: 0;
   flex-direction: column;
-  gap: var(--space-3);
-  padding-bottom: var(--space-4);
-  border-top: 1px solid var(--border-primary);
-  margin-top: var(--space-4);
-  padding-top: var(--space-4);
+  align-items: stretch;
+  gap: var(--space-1);
+  margin: 0;
+  padding-block: var(--space-4);
+  padding-inline: inherit;
+  background: var(--bg-primary);
+  border-bottom: 1px solid var(--color-header-border);
 }
 
-@media (min-width: 768px) {
-  #mobile-nav {
+@media (min-width: 1024px) {
+  #site-header #mobile-nav {
     display: none !important;
   }
 }
 
-#mobile-nav.active {
+#site-header #mobile-nav.active {
   display: flex;
 }
 
-#mobile-nav a {
+#site-header #mobile-nav a {
   padding: var(--space-2) 0;
   color: var(--text-primary);
 }
@@ -3657,7 +3670,7 @@ main {
   outline-offset: 2px;
 }
 
-/* Durable and Deferrable Operators Page */
+/* Durable Execution Page */
 .durable-page {
   padding: var(--space-16) 0;
   background: var(--bg-primary);
diff --git a/registry/src/durable.njk b/registry/src/durable.njk
index ffc9b27f113..865c0e7a8dc 100644
--- a/registry/src/durable.njk
+++ b/registry/src/durable.njk
@@ -1,6 +1,6 @@
 ---
 layout: base.njk
-title: Durable and Deferrable Operators
+title: Durable Execution
 description: Operators, sensors and decorators across all Airflow providers 
that reconnect to their job on retry or wait in the Triggerer instead of 
holding a worker slot
 mainClass: durable-page
 ---
@@ -9,7 +9,7 @@ mainClass: durable-page
 
 <div class="container">
   <header class="page-header">
-    <h1>Durable and Deferrable Operators</h1>
+    <h1>Durable Execution</h1>
     <p>{{ counts.all }} operators, sensors and decorators across {{ 
durableModules.groups.length }} providers that can reconnect to their job on 
retry (Durable) or wait in the Triggerer instead of holding a worker slot 
(Deferrable).</p>
   </header>
 
diff --git a/registry/src/explore.njk b/registry/src/explore.njk
index f49c98f2e67..b42c55db2a8 100644
--- a/registry/src/explore.njk
+++ b/registry/src/explore.njk
@@ -135,7 +135,7 @@ mainClass: explore-page
       <div class="link-buttons">
         <a href="{{ '/providers/' | url }}">All Providers</a>
         <a href="{{ '/stats/' | url }}">View Statistics</a>
-        <a href="{{ '/durable/' | url }}">Durable and Deferrable Operators</a>
+        <a href="{{ '/durable/' | url }}">Durable Execution</a>
         <button id="open-search">
           <svg fill="none" stroke="currentColor" viewBox="0 0 24 24">
             <path stroke-linecap="round" stroke-linejoin="round" 
stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z" />
diff --git a/registry/src/stats.njk b/registry/src/stats.njk
index 3ff627ac462..a7a120ffb57 100644
--- a/registry/src/stats.njk
+++ b/registry/src/stats.njk
@@ -109,7 +109,7 @@ mainClass: statistics-page
             </svg>
           </a>
           <a href="{{ '/durable/' | url }}" class="access-link">
-            <span>Durable and Deferrable Operators</span>
+            <span>Durable Execution</span>
             <svg class="chevron" fill="none" stroke="currentColor" viewBox="0 
0 24 24">
               <path stroke-linecap="round" stroke-linejoin="round" 
stroke-width="2" d="M9 5l7 7-7 7" />
             </svg>

Reply via email to