feat(v2): promote Awesome Lists to a flagship page with hero + category grid

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>
This commit is contained in:
Inaki Fernandez
2026-06-25 18:00:53 +02:00
co-authored by Claude Opus 4.8
parent 7e281ddc65
commit 07e64cbda0
5 changed files with 259 additions and 3 deletions
+105
View File
@@ -1804,3 +1804,108 @@ input[type="text"] {
/* ===================================================================
The Awesome Lists page: high-impact hero + category card grid.
Used by other-awesome-lists.md (header injected by src/awesome_page.py).
=================================================================== */
.awesome-hero {
margin: 1.2rem 0 1.6rem;
padding: 2.2rem 1.5rem;
border-radius: 16px;
text-align: center;
color: #fff;
background:
radial-gradient(120% 140% at 50% 0%,
color-mix(in srgb, var(--md-accent-fg-color) 70%, #6d28d9) 0%,
color-mix(in srgb, var(--md-primary-fg-color) 80%, #111827) 75%);
box-shadow: 0 10px 34px -12px color-mix(in srgb, var(--md-accent-fg-color) 60%, transparent);
overflow: hidden;
}
.awesome-hero__badge {
font-size: clamp(1.4rem, 3.2vw, 2.2rem);
font-weight: 800;
letter-spacing: 0.06em;
line-height: 1.15;
text-shadow: 0 2px 12px rgba(0, 0, 0, 0.28);
}
.awesome-hero__sub {
margin-top: 0.5rem;
font-size: 0.95rem;
opacity: 0.92;
}
.awesome-hero__sub code {
background: rgba(255, 255, 255, 0.18);
color: #fff;
padding: 0.05em 0.35em;
border-radius: 5px;
}
.awesome-hero__stats {
margin-top: 1.3rem;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.7rem 1.4rem;
}
.awesome-hero__stat {
display: flex;
flex-direction: column;
align-items: center;
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.08em;
opacity: 0.9;
}
.awesome-hero__stat strong {
font-size: 1.55rem;
line-height: 1;
font-weight: 800;
}
.awesome-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
gap: 0.85rem;
margin: 1.4rem 0 2rem;
}
.awesome-card {
display: flex;
flex-direction: column;
justify-content: space-between;
gap: 0.6rem;
min-height: 84px;
padding: 0.85rem 1rem;
border-radius: 12px;
border: 1px solid color-mix(in srgb, var(--md-accent-fg-color) 24%, transparent);
background: var(--md-default-bg-color);
color: var(--md-default-fg-color);
text-decoration: none;
transition: transform 0.14s ease, box-shadow 0.14s ease, border-color 0.14s ease;
}
.awesome-card:hover {
transform: translateY(-3px);
border-color: var(--md-accent-fg-color);
box-shadow: 0 12px 26px -14px color-mix(in srgb, var(--md-accent-fg-color) 70%, transparent);
}
.awesome-card__name {
font-weight: 700;
font-size: 0.95rem;
line-height: 1.25;
}
.awesome-card__meta {
display: flex;
align-items: baseline;
gap: 0.4rem;
}
.awesome-card__count {
font-size: 1.35rem;
font-weight: 800;
color: var(--md-accent-fg-color);
line-height: 1;
}
.awesome-card__stars {
font-size: 0.7rem;
text-transform: uppercase;
letter-spacing: 0.06em;
opacity: 0.7;
}
+74
View File
@@ -0,0 +1,74 @@
"""High-impact header for the V2 "Awesome Lists" page.
The Awesome Lists page (``other-awesome-lists.md``, derived from V1's
``/v1/other-awesome-lists/``) is a curated, AI-classified directory of the best
external ``awesome-*`` lists across the Cloud Native ecosystem. This module
builds the flagship hero banner + a category grid (cards that jump to each
in-page section), generated from the page's own rendered ``##`` headings so it
stays in sync no matter how the AI re-clusters the categories.
Pure stdlib so it can run inside ``src.v2_optimizer`` and be tested standalone.
"""
import re
_H2_RE = re.compile(r"^##\s+(.+?)\s*$", re.MULTILINE)
_LINK_RE = re.compile(r"\]\(https?://")
def _slug(text: str) -> str:
"""Slug matching python-markdown/toc anchors (lowercase, no punctuation)."""
s = text.lower().replace("&", " ")
s = re.sub(r"[()]", "", s)
s = re.sub(r"[^a-z0-9]+", "-", s).strip("-")
return s
def _sections(body_md: str):
"""Return [(title, anchor, link_count), ...] for each H2 section in order."""
matches = list(_H2_RE.finditer(body_md))
out = []
for i, m in enumerate(matches):
title = m.group(1).strip()
start = m.end()
end = matches[i + 1].start() if i + 1 < len(matches) else len(body_md)
count = len(_LINK_RE.findall(body_md[start:end]))
out.append((title, _slug(title), count))
return out
def build_awesome_lists_header(body_md: str) -> str:
"""Build the hero + category grid that precedes the Awesome Lists body."""
sections = _sections(body_md)
total_lists = sum(c for _, _, c in sections)
n_cats = len(sections)
md = (
"<div class=\"awesome-hero\">\n"
" <div class=\"awesome-hero__badge\">⭐ AWESOME LISTS ⭐</div>\n"
" <div class=\"awesome-hero__sub\">The best curated <code>awesome-*</code> lists · AI-classified · link-validated</div>\n"
" <div class=\"awesome-hero__stats\">\n"
f" <span class=\"awesome-hero__stat\"><strong>{total_lists}</strong>curated lists</span>\n"
f" <span class=\"awesome-hero__stat\"><strong>{n_cats}</strong>categories</span>\n"
" </div>\n"
"</div>\n\n"
"!!! tip \"The meta-directory of the Cloud Native ecosystem\"\n"
" A hand-picked, AI-classified index of the most valuable community "
"**awesome-* lists** — every one link-validated and filed by topic. Jump "
"to a category below, or browse the full directory. For the original "
"exhaustive archive, see the [**V1 Historical Archive**](/v1/other-awesome-lists/).\n\n"
)
if sections:
md += "<div class=\"awesome-grid\">\n"
for title, anchor, count in sections:
md += (
f" <a class=\"awesome-card\" href=\"#{anchor}\">\n"
f" <span class=\"awesome-card__name\">{title}</span>\n"
f" <span class=\"awesome-card__meta\"><span class=\"awesome-card__count\">{count}</span>"
f"<span class=\"awesome-card__stars\">lists</span></span>\n"
f" </a>\n"
)
md += "</div>\n\n"
return md
+11 -2
View File
@@ -16,6 +16,7 @@ from src.config import GEMINI_API_KEYS, GH_TOKEN, TARGET_REPO, MADRID_TZ, INVENT
from src.gemini_utils import call_gemini_with_retry, normalize_url, clean_toc_text, get_github_activity, fetch_youtube_metadata
from src.logger import log_event
from src.inventory_manager import update_inventory_entry
from src.awesome_page import build_awesome_lists_header
def nuclear_strip(text: str) -> str:
@@ -1724,8 +1725,16 @@ class V2VisionEngine:
)
md += await render_node(info["content"], -1, f_name.replace(".md", ""), used_headers, is_intro=(f_name=="introduction.md" or f_name=="about.md"))
_body = await render_node(info["content"], -1, f_name.replace(".md", ""), used_headers, is_intro=(f_name=="introduction.md" or f_name=="about.md"))
# The flagship "Awesome Lists" page gets a high-impact hero + a grid
# of its categories (auto-derived from the rendered H2 sections).
if f_name == "other-awesome-lists.md":
try:
md += build_awesome_lists_header(_body)
except Exception as e:
log_event(f"[WARN] awesome-lists header failed: {str(e)[:100]}")
md += _body
# Add Semantic "See Also" — same dimension + cross-dimension by shared tags
same_dim = [f for f in data if f != f_name and data[f]["dim"] == info["dim"]]
cross_dim = []
+68
View File
@@ -9,6 +9,74 @@ description: "Top Other Awesome Lists resources for 2026, AI-ranked: Awesome Com
!!! info "Architectural Context"
Detailed reference for Awesome Lists in the context of Architectural Foundations.
<div class="awesome-hero">
<div class="awesome-hero__badge">⭐ AWESOME LISTS ⭐</div>
<div class="awesome-hero__sub">The best curated <code>awesome-*</code> lists · AI-classified · link-validated</div>
<div class="awesome-hero__stats">
<span class="awesome-hero__stat"><strong>33</strong>curated lists</span>
<span class="awesome-hero__stat"><strong>13</strong>categories</span>
</div>
</div>
!!! tip "The meta-directory of the Cloud Native ecosystem"
A hand-picked, AI-classified index of the most valuable community **awesome-* lists** — every one link-validated and filed by topic. Jump to a category below, or browse the full directory. For the original exhaustive archive, see the [**V1 Historical Archive**](/v1/other-awesome-lists/).
<div class="awesome-grid">
<a class="awesome-card" href="#ai-and-machine-learning">
<span class="awesome-card__name">AI and Machine Learning</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#api-development">
<span class="awesome-card__name">API Development</span>
<span class="awesome-card__meta"><span class="awesome-card__count">2</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#artificial-intelligence">
<span class="awesome-card__name">Artificial Intelligence</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#cloud-native">
<span class="awesome-card__name">Cloud Native</span>
<span class="awesome-card__meta"><span class="awesome-card__count">10</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#continuous-delivery">
<span class="awesome-card__name">Continuous Delivery</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#curation">
<span class="awesome-card__name">Curation</span>
<span class="awesome-card__meta"><span class="awesome-card__count">3</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#deployment-and-delivery">
<span class="awesome-card__name">Deployment and Delivery</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#devops-and-platform-engineering">
<span class="awesome-card__name">DevOps and Platform Engineering</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#infrastructure">
<span class="awesome-card__name">Infrastructure</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#infrastructure-and-operations">
<span class="awesome-card__name">Infrastructure and Operations</span>
<span class="awesome-card__meta"><span class="awesome-card__count">5</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#observability-and-monitoring">
<span class="awesome-card__name">Observability and Monitoring</span>
<span class="awesome-card__meta"><span class="awesome-card__count">1</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#programming-languages">
<span class="awesome-card__name">Programming Languages</span>
<span class="awesome-card__meta"><span class="awesome-card__count">3</span><span class="awesome-card__stars">lists</span></span>
</a>
<a class="awesome-card" href="#software-engineering">
<span class="awesome-card__name">Software Engineering</span>
<span class="awesome-card__meta"><span class="awesome-card__count">3</span><span class="awesome-card__stars">lists</span></span>
</a>
</div>
## AI and Machine Learning
### MLOps
+1 -1
View File
@@ -162,6 +162,7 @@ markdown_extensions:
nav:
- "🔙 Back to V1 (Exhaustive)": https://nubenetes.com/v1/
- "The 2026 Vision": index.md
- "⭐ Awesome Lists": other-awesome-lists.md
- "Portal Guide":
- "Topic Map": topic-map.md
- "Methodology": methodology.md
@@ -200,7 +201,6 @@ nav:
- "Matrix Table": matrix-table.md
- "Mkdocs": mkdocs.md
- "Monitoring": monitoring.md
- "Other Awesome Lists": other-awesome-lists.md
- "Prometheus": prometheus.md
- "Platform & Site Reliability":
- "Chaos Engineering": chaos-engineering.md