The top horizontal bar is a custom quick-nav (docs/overrides/main.html), not
Material's tab bar (navigation.tabs is disabled). Its "Portal Guide" popover was
hardcoded with Topic Map/Methodology/Tags/About and did not include Awesome
Lists — so the earlier MkDocs nav change wasn't visible there.
- Add "⭐ Awesome Lists" to the Portal Guide popover (after Topic Map).
- Make the sidebar nav durable too: add the top-level "⭐ Awesome Lists" entry
and the Portal Guide "Awesome Lists" child to _sync_enterprise_navigation, and
exclude other-awesome-lists.md from its dimension via _FIXED_PAGES, so a full
pipeline run no longer wipes these entries.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- New "Awesome Lists" hero-badge card on the V2 index, right after "Get
Started", linking to /other-awesome-lists/.
- Custom gold-star + list-motif cover (docs/images/awesome-lists-cover.svg),
matching the Awesome Lists page hero theme.
- New .hero-badge-card--gold modifier.
- Also list "Awesome Lists" under the Portal Guide top-bar menu (after Topic
Map) for discoverability, in addition to the flagship "⭐ Awesome Lists" tab.
- Card added to the index template (survives regeneration) and to the current
rendered v2-docs/index.md for immediate deploy.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The V2 "Awesome Lists" page (other-awesome-lists.md, derived from V1's
/v1/other-awesome-lists/) already existed but was buried under the
"Architectural Foundations" submenu. Promote it to a top-level, high-impact
destination:
- New src/awesome_page.py builds a hero banner + a category card grid derived
from the page's own rendered H2 sections (stays in sync with AI re-clustering).
- v2_optimizer injects the header for other-awesome-lists.md during rendering,
so it survives pipeline regeneration.
- Move it to a prominent top-level nav entry "⭐ Awesome Lists" (removed from the
Architectural Foundations submenu).
- Add hero/grid/card styles to the V2 stylesheet.
- Apply the header to the current rendered page for immediate deploy.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Same fix as v2.9.53 for V2 — the Nutanix logo is black-on-transparent and
invisible in dark mode. Adds targeted CSS invert(1) via [data-md-color-scheme=slate]
to docs/static/extra.css (V1 stylesheet).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Nutanix logo is black-on-transparent, invisible on dark backgrounds.
Adds a targeted CSS rule using [data-md-color-scheme="slate"] to invert
it only in dark mode, keeping the original image unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add 6 YouTube channels to data/inventory.yaml + data/inventory.sql (the authoritative
source read by reorganize_mosaic.py). Previous commits edited index.md directly and
were overwritten by the agentic pipeline. Regenerate both V1 and V2 mosaics.
Also restore RedHat RAG blog link to v2-docs/mlops.md (removed by pipeline PR #462).
Categories assigned:
- IONOS UK, Nutanix → cloud_providers (order_v1 138-139)
- VMware, ProxmoxVE → cloud_native_kubernetes (order_v1 140-141)
- Salesforce, SAP → dev_testing_collab (order_v1 142-143)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Move 6 new YouTube channels from overflow rows (343/344/346 had 13 items)
to a new dedicated tail row at the end of the mosaic. All existing rows
restored to exactly 11 icons; new channels added as rows 355-356 (6 each).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Add the @Firebase and @supabase YouTube channels to the homepage
channel mosaic under the Observability, Databases & Cloud Storage
category, with icon logos and regenerated V1/V2 index mosaics.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The CRITICAL/HIGH impact badge (and optional NEW pill) was absolutely
positioned top-right, so a long celeste category/title could slide
underneath it and become unreadable. Make the badge an in-flow,
right-aligned fit-content pill on its own line, with the NEW pill as a
flex sibling — impact, title and NEW can no longer overlap at any width.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The Trending section felt sparse (6 + 4 cards). Make it much denser while
keeping the page manageable:
- Lane 1 "Trending Now": select up to 16 category-diverse fresh items.
- Lane 2 "Rising this Quarter": select up to 12 sustained-momentum items.
- Each lane shows the first N cards (9 / 6) and tucks the rest behind a
pure-CSS, no-JS "Show N more" / "Show less" disclosure (checkbox-hack +
general-sibling combinator), scoped per lane via a .trending-lane wrapper.
- New .trending-card--extra (hidden by default, fade-in on reveal) and
.trending-showmore pill styles, with slate-theme variants.
The two lanes remain de-duplicated by URL (verified: 16 + 12 cards, zero
overlap) and lane 2 keeps its sustained signal (bpftrace, OpenTelemetry,
Gateway API, Vault, Argo CD, Ray, ...). Verified the toggle in a real
browser via Playwright: 9->16 cards on click, label flips correctly.
Generator + CSS change; the docs/ CSS edit auto-triggers the 04.1 publisher
to regenerate v2-docs on develop.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Extract lane selection/rendering into reusable helpers (_select_lane,
_render_cards) and add a second momentum lane below "Trending Now":
- "📈 Rising this Quarter — Sustained Momentum": 6-month digest window
with a soft 60d half-life (vs 21d for lane 1), so it favours resources
with sustained relevance rather than just the freshest items.
- De-duplicated against lane 1 by URL, so the two lanes surface different
resources (verified: FinOps / NVIDIA device-plugin / Ruff / vLLM with
real star counts, no overlap with the Trending lane).
- New .trending-section__title--secondary style (divider + lighter weight).
Generator-only change; CI publisher (04.1) regenerates v2-docs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Rework the V2 'Trending Now' section so it reflects real momentum instead
of pinning evergreen/foundational tools:
- Hybrid ranking: impact_weight x recency_decay (21d half-life) so fresh
items surface and the section rotates between releases (date was shown
but never used to rank before).
- Diversity quota: at most one card per digest category, then backfill —
replaces the old impact-only sort that filled all slots with the 2-3
highest-volume categories.
- Real momentum signal: join each item with the inventory by URL and show
the live GitHub star count (e.g. 38.2k★); fall back to the 1-5 Gemini
score only when no gh_stars. Adds a 🆕 NEW pill for items <= 7 days old.
- Clean titles: strip github.com/owner/ paths and 'domain.tld:' prefixes
(no more 'github.com: Istio' or raw repo slugs).
- Fix star-render bug ('🌟'*stars or 0 printed a literal 0 when stars=0).
Generator-only change; CI publisher (04.1) regenerates v2-docs.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Render a true colour-matrix heatmap on the Topic Map page (distinct from
the size-based Label cloud on index/Tags). One tile per category, grouped
by strategic dimension, with tile warmth (.th-1..6) encoding how many
AI-curated resources it holds. Log scale since counts span ~1..160.
The existing directory grid is preserved below a new "Full Category
Directory" heading. Generator-only change; the publisher regenerates
topic-map.md. CSS adds .topic-heatmap / .topic-heatcell with light + slate
palettes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The nb-quicknav popovers are positioned via explicit CSS anchor-positioning
pairs (anchor-name on the button + position-anchor on the menu) keyed per
popover id. The two new menus (nb-pop-guide, nb-pop-videos) had no such
pairs, so their popovers opened unanchored (wrong position / "broken").
Add the missing anchor-name/position-anchor pairs and bump the CSS
cache-buster to 2.9.42.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Restructure the custom nb-quicknav header (docs/overrides/main.html):
- Replace the standalone "Topic Map" pill with a "Portal Guide" dropdown
grouping the dispersed orientation pages: Topic Map, Methodology,
Technical Tags, About.
- Add a "Videos" parent dropdown (right after Digest) with the video
category subpages (Video Hub, AI Agents & MCP, DevOps/IaC/SRE,
Cloud Native Core, Fundamentals), promoted out of the "More" menu.
- Trim "More" to the remaining misc entries: Demos, FAQ, Career, V1 Archive.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Render a weighted "popular labels" cloud at the top of tags.md: every
label is listed alphabetically and sized/coloured by how many resources
carry it (log scale, 6 levels) so the most-used tags read biggest and
warmest. Each label anchors to its section below for jump-to-filter.
- v2_optimizer: emit .v2-tag-heatmap block in _generate_global_tag_index
- v2_elite.css: .v2-heat-1..6 size + warmth ramp (light + slate)
- bump CSS cache-buster to v2.9.39
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Addresses the OpenShift 'lío' (ocp3 deprecated · openshift overview · ocp4
current 29-link page) and groups the Kubernetes distributions:
- OpenShift is now a nested submenu inside the Kubernetes menu (OpenShift ▸ →
OpenShift 4 (current) · Overview · OpenShift 3 (legacy)), so the substantial
ocp4 page is finally reachable. Reuses the AWS nested-submenu mechanism.
- Distros/platforms grouped at the end of the Kubernetes menu: Managed K8s ·
OpenShift ▸ · Rancher · Distros & Alternatives (kubernetes-alternatives moved
here and relabeled). Rancher was already present.
- Switched the 2-column Kubernetes menu from CSS multicol to a deterministic
column-major grid (11 rows × 2 cols) with overflow:visible / max-height:none,
eliminating the sub-pixel balancing remainder that left a faint scrollbar.
Verified in Chrome 148 (Playwright + screenshot): menu renders as a clean 2-col
card with NO scrollbar at viewport heights 768–1080; the OpenShift submenu opens
to the side, stays on-screen, and keeps the parent open. Cache-bust ?v=2.9.38.
V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The Kubernetes dropdown was the only menu tall enough (22 items) to need a
scrollbar (overflow-y on an anchor-positioned popover), which made it open/behave
unreliably compared to the others. Two fixes:
- The Kubernetes menu now uses a 2-column layout (column-count:2), halving its
height (~731px → ~353px) so it shows in full WITHOUT a scrollbar at any
realistic viewport. Multicol is column-major, so reading order is preserved.
- Removed flip-block from the menu position-try fallbacks (kept flip-inline):
the quick-nav is a sticky top bar, so a tall menu flipped above would shoot
off the top of the screen. Menus now always open downward.
Verified in Chrome 148 (Playwright): Kubernetes menu opens with no scrollbar and
stays fully on-screen at viewport heights 700–1080; all 11 menus + the nested
AWS submenu still open correctly; bar stays one row to 1280px. Cache-bust
?v=2.9.37. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Full category-driven reorganization of the quick-nav per the agreed taxonomy:
one direct pill (Topic Map) + 11 thematic dropdowns that group related topics
together so every destination has a sensible home.
Digest · Kubernetes (Overview · Docker · Tools · Helm · kubectl · all
kubernetes-* · Managed · OpenShift · Rancher) · Delivery (GitOps · CI/CD ·
DevOps · Argo · Flux · Tekton · Jenkins · …) · IaC (Terraform · IaC · Ansible
· Pulumi · Crossplane · Kustomize) · Cloud (AWS ▸ nested submenu · Azure · GCP
· Serverless · FinOps · Edge · …) · Network · Security · Observability & SRE ·
AI & Data · Dev & Platform · More
- Docker now lives inside Kubernetes; CI/CD + GitOps + DevOps share Delivery;
Terraform + IaC share the IaC menu (as requested).
- AWS is a NESTED submenu inside Cloud (Cloud → AWS ▸ → 8 AWS pages), built with
nested Popover API + explicit anchor() side-positioning (position-area's
horizontal axis isn't honored when the anchor is inside another popover;
left:anchor(right)/top:anchor(top) fixes it). Submenu keeps the parent open;
flip-inline fallback near the right edge.
- Pages may appear in more than one menu where it aids discovery.
- Menus get max-height:82vh + overflow-y for the tall Kubernetes menu.
Verified in Chrome 148 (Playwright): all 11 menus open below + fit viewport; the
AWS submenu opens to the side with the parent kept open; bar stays one row to
1280px. Cache-bust ?v=2.9.36. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Data-driven expansion (ranked by per-page link count + relevance):
- New 📊 Digest menu: Tech & Cloud Digest + Industry & Geo Digest (was a single
pill; now pairs both editions).
- New 🧰 K8s menu: Kubernetes Tools (144 links) · Helm · Managed K8s · OpenShift
· Tutorials — the Kubernetes ecosystem, which the portal is centered on.
- ☁️ Cloud += Serverless · FinOps.
- 🌐 Network += Service Mesh (the category alongside Istio; Istio emoji → ⛵).
- ⚙️ Ops += IaC · Developer Portals.
- ⋯ More += Technical Tags (1355 links) · Demos (102).
38 destinations total across 6 direct pills + 7 Popover menus. Added explicit
anchor pairs for the two new menus. Chip font trimmed to 0.62rem + tighter
gap/padding so all 13 bar chips still fit one row down to ~1280px. Verified in
Chrome 148 via Playwright: all 7 menus open below their button, stay on-screen
(right-edge flip), and close on Esc. Cache-bust ?v=2.9.33. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Two fixes to the hybrid quick-nav shipped in v2.9.31:
1. Popover menus did not visibly open on click. Root cause: the menus used
`position-area: bottom span-inline-end`, which mixes a physical keyword
(bottom) with a logical one (span-inline-end) — invalid, so it computed to
`none` and the menu fell back to its static position on top of the button.
Additionally the popover's implicit anchor was not resolving. Fixed by using
a valid all-physical `position-area: bottom span-right` and declaring explicit
anchor-name / position-anchor pairs per button↔menu, so each menu reliably
drops below its trigger and auto-flips (span-left) near the right edge.
Verified in Chrome 148 via Playwright: all five menus open on real click,
render below the button, stay within the viewport, and close on Escape.
2. The bar wrapped to a second row at common widths. Reduced the chip font
~1pt (0.7rem → 0.64rem) and trimmed the column-gap/padding so all 7 pills +
5 menus fit a single row down to 1280px viewports.
Bumps v2_elite.css cache-bust to ?v=2.9.32. V2-only, template/CSS only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collapses the 25-destination quick-nav from 3 wrapped rows to a single slim row
that stays one row regardless of how many destinations are added.
Structure:
- 7 direct one-click pills for the most-used flagships: Topic Map, Digest,
Kubernetes, Docker, GitOps, Terraform, AI & MCP.
- 5 category menus for the long tail, built with the native HTML Popover API +
CSS Anchor Positioning (Baseline 2026), zero JS:
☁️ Cloud (AWS · Azure · GCP) · 🌐 Network (Networking · Istio · K8s Net)
· 🔐 Security (K8s Security · DevSecOps)
· ⚙️ Ops (CI/CD · Observability · SRE · DevOps)
· ⋯ More (Videos · Ansible · Messaging · MLOps · Methodology · V1 Archive)
Why this design: keeps the hot paths at one click (the project's whole value),
while the rarely-used clusters fold away — so the bar never grows past one row.
Popover API gives free Esc / click-outside dismissal and focus management and
works identically on touch and desktop; menus drop below their button via
position-area with flip fallbacks, animate in via @starting-style, and rotate
their caret using :has(). prefers-reduced-motion honored. All 25 destinations
preserved. Bumps v2_elite.css cache-bust to ?v=2.9.31. V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Grows the quick-nav bar to 25 destinations:
- New networking cluster (after cloud): 🌐 Networking · 🕸️ Istio · 🔗 K8s Net
- DevSecOps joins the security cluster: 🔐 Security · 🛡️ DevSecOps
Short labels as usual (K8s Net for Kubernetes Networking). Template-only change
to docs/overrides/main.html; reuses the existing .nb-quicknav pill styling, no
CSS change, no page regeneration, V2-only. All target pages verified and
mkdocs build -f v2-mkdocs.yml passes with all 25 links rendering.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Expands the quick-nav bar to 21 destinations and restyles it as a modern,
centered chip bar. Adds CI/CD, Terraform-adjacent Ansible, and the three
hyperscalers (AWS, Azure, GCP), and reorders every tab into related category
clusters with short labels (even where the page title is long):
discovery (Topic Map · Digest · Videos) → platform (Kubernetes · Docker)
→ delivery (GitOps · CI/CD) → IaC (Terraform · Ansible)
→ cloud (AWS · Azure · GCP) → security → ops (Observability · SRE · DevOps)
→ data (Messaging) → AI/ML (AI & MCP · MLOps) → Methodology → V1 Archive (muted)
Visual upgrade (CSS, modern Chrome):
- Pill chips instead of plain text links — more scannable.
- Chip background/border/glow derived from the theme accent via color-mix()
(in srgb), so the bar restyles automatically with the palette.
- Centered wrapping rows (justify-content: center) — balanced across 2-3 rows
at 21 items vs a ragged last row when left-aligned; the repeated ☁️ visually
groups the three cloud providers.
- Hover lift (translateY) + accent glow; :focus-visible outline for a11y;
prefers-reduced-motion honored.
- Logical properties (margin-inline / padding-inline); mobile collapses to a
single horizontal-scroll row with the scrollbar hidden.
Bumps v2_elite.css cache-bust to ?v=2.9.29. V2-only; no page regeneration.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds the principal topic flagships to the slim quick-nav bar so the most
relevant destinations across all of Nubenetes are reachable in one click from
any page:
- Cloud-native pillars: Kubernetes, Docker, GitOps, Terraform,
K8s Security, Observability
- Ops disciplines: SRE, DevOps
- Data/messaging: Message Queue
- AI/ML: MLOps (next to the existing AI & MCP hub)
Layout groups discovery/meta hubs (Topic Map, Intelligence Digest, Video Hub),
then the pillar + ops + messaging topics, then the AI hubs (AI & MCP, MLOps) and
Methodology, with V1 Archive muted at the far right — 16 curated destinations
total, still under the 18-tab overflow line the bar was designed to avoid.
Reuses the existing .nb-quicknav__link styling (flex-wrap handles density on
narrow viewports); template-only, no CSS change, no page regeneration, V2-only.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a thin horizontal bar below the header (on every page) with 6 curated
one-click destinations: Topic Map, Intelligence Digest, Video Hub, AI & MCP,
Methodology, V1 Archive. Implemented by overriding Material's [3g
H H H H H H H H H H
block
(empty since navigation.tabs is disabled) + .nb-quicknav CSS — so it gives the
persistent cross-page shortcuts that previously only existed as badge cards on
the home, WITHOUT the 18-tab overflow and WITHOUT collapsing the full left
navigation tree. Template/CSS only (no page regeneration); V2-only (V1 uses the
stock theme). Cache-bust v2_elite.css?v=2.9.27.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Adds a second JSON-LD block per page (a schema.org CollectionPage tied to the
existing WebSite/Organization @graph) carrying the page name, description, URL,
and datePublished / dateModified fed by the git-revision-date plugin's raw ISO
dates. Enables richer search results (article/collection rich snippets) with
real freshness dates. Template-only change (docs/overrides/main.html), applied
at build time; the homepage is skipped (it is already the WebSite entity).
Verified: every content page emits a valid CollectionPage with both dates
(e.g. Kubernetes datePublished=2026-05-18 dateModified=2026-06-20); the home
carries only the WebSite+Organization graph.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The in-page filter widget (v2_filter.js) auto-injects wherever the page has
<ul><li> items. Topic Map lists category links (with counts) and Methodology
lists legend rows — neither carries .md-tag maturity tags, so the tag pills
filtered to zero and the 'X of Y resources' counter mis-counted categories as
resources. Added both pages to the widget's h1-based skip-list. Bumped
v2_filter.js?v=2.9.19.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
C — git-revision-date-localized plugin: adds a 'Last update' date to every V2
page (freshness signal for SEO and reader trust). Added the dependency to
requirements.txt, enabled it in v2-mkdocs.yml (type: date,
fallback_to_build_date so the build never fails), and set fetch-depth: 0 on the
06 deploy checkout so the plugin sees full git history (otherwise every page
would show the build date).
D — JSON-LD schema.org structured data: WebSite (with a sitelinks SearchAction)
+ publishing Organization, injected via an extrahead block in docs/overrides/
main.html (shared V1/V2). Enables richer search results / knowledge-panel
eligibility. Validated: build exits 0, JSON-LD parses, 'Last update' renders.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>