fix(ui): section tabs above the breadcrumb, so the Ansible tab strip holds still (#5214)
CI / lint (push) Successful in 2s
CI / integration (push) Successful in 55s
CI / unit (push) Successful in 1m22s
CI / publish (push) Successful in 1m36s

The tabs were drawn in each page's content block, which base.html renders
after the breadcrumb, so on every nested Ansible page the strip moved down a
line. base.html now has a section_tabs block above the breadcrumb, and every
Ansible page fills it. A guard in test_breadcrumbs.py fails any page that calls
a tabs macro outside that block.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-08 06:28:02 -04:00
co-authored by Claude Opus 5.5
parent c678379646
commit 955450d33f
13 changed files with 45 additions and 13 deletions
+4 -3
View File
@@ -73,9 +73,10 @@
</div>
{%- endmacro %}
{# A section's own pages as tabs under the crumbs (#5328): items are
(key, label, href); the one whose key is `active` is the current page.
Links, not a tablist: each tab is its own page. #}
{# A section's own pages as tabs (#5328): items are (key, label, href); the
one whose key is `active` is the current page. Links, not a tablist: each
tab is its own page. Call it in base.html's section_tabs block, which sits
above the breadcrumb, so the strip stays put as the trail grows. #}
{% macro section_tabs(items, active, label) -%}
<nav class="section-tabs" aria-label="{{ label }}">
{%- for key, text, href in items %}