mirror of
https://github.com/nubenetes/awesome-kubernetes.git
synced 2026-08-19 04:16:26 +00:00
feat: configure V2 to serve at root and V1 at /v1/
This commit is contained in:
+22
-6
@@ -897,6 +897,8 @@ class V2VisionEngine:
|
||||
|
||||
index_md = (
|
||||
"# Nubenetes Elite Portal (V2) | Awesome Kubernetes & Cloud [](https://github.com/sindresorhus/awesome)\n\n"
|
||||
"!!! tip \"Nubenetes V2 Elite Portal: AI-Curated & High-Density\"\n"
|
||||
" You are browsing the AI-Curated V2 Elite Edition of Nubenetes. Looking for the complete historical archive? Explore the [**V1 Historical Archive**](/v1/).\n\n"
|
||||
"<center markdown=\"1\">\n"
|
||||
"<div class=\"hero-showcase-wrapper\">\n"
|
||||
" <a href=\"https://www.cncf.io/certification/software-conformance\" class=\"hero-showcase-link\">\n"
|
||||
@@ -919,28 +921,28 @@ class V2VisionEngine:
|
||||
"<div style=\"display: flex; justify-content: center; gap: 24px; margin: 16px 0; flex-wrap: wrap;\">\n"
|
||||
" <a href=\"./kubernetes/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--cyan\">\n"
|
||||
" <img src=\"/v2/images/kubernetes_logo.png\" alt=\"Kubernetes\"/>\n"
|
||||
" <img src=\"/images/kubernetes_logo.png\" alt=\"Kubernetes\"/>\n"
|
||||
" <div class=\"hero-badge-title\">Ecosystem Core</div>\n"
|
||||
" <div class=\"hero-badge-subtitle\">Explore Kubernetes</div>\n"
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
" <a href=\"./ai-agents-mcp/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--purple\">\n"
|
||||
" <img src=\"/v2/images/ai_agents_logo.png\" alt=\"AI & MCP Agents\"/>\n"
|
||||
" <img src=\"/images/ai_agents_logo.png\" alt=\"AI & MCP Agents\"/>\n"
|
||||
" <div class=\"hero-badge-title\">AI & MCP Agents</div>\n"
|
||||
" <div class=\"hero-badge-subtitle\">Agentic Ecosystem</div>\n"
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
" <a href=\"./videos/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--pink\">\n"
|
||||
" <img src=\"/v2/images/video_hub_logo.png\" alt=\"Agentic Video Hub\"/>\n"
|
||||
" <img src=\"/images/video_hub_logo.png\" alt=\"Agentic Video Hub\"/>\n"
|
||||
" <div class=\"hero-badge-title\">Agentic Video Hub</div>\n"
|
||||
" <div class=\"hero-badge-subtitle\">Architect Video Library</div>\n"
|
||||
" </div>\n"
|
||||
" </a>\n"
|
||||
" <a href=\"./introduction/\" style=\"text-decoration: none; color: inherit; display: block;\">\n"
|
||||
" <div class=\"hero-badge-card hero-badge-card--teal\">\n"
|
||||
" <img src=\"/v2/images/hero-car.png\" alt=\"Nubenetes Car\"/>\n"
|
||||
" <img src=\"/images/hero-car.png\" alt=\"Nubenetes Car\"/>\n"
|
||||
" <div class=\"hero-badge-title\">Get Started</div>\n"
|
||||
" <div class=\"hero-badge-subtitle\">Introduction Guide</div>\n"
|
||||
" </div>\n"
|
||||
@@ -1036,7 +1038,15 @@ class V2VisionEngine:
|
||||
|
||||
for f_name, info in data.items():
|
||||
used_headers = {info['long_title']} # Mandate 30: MD024 - Pre-populate with H1 to avoid duplicates
|
||||
md = f"# {info['long_title']}\n\n!!! info \"Architectural Context\"\n Detailed reference for {info['long_title']} in the context of {info['dim']}.\n\n"
|
||||
# Formulate V1 counterpart link dynamically
|
||||
v1_link = f"/v1/{f_name.replace('.md', '/')}"
|
||||
md = (
|
||||
f"# {info['long_title']}\n\n"
|
||||
f"!!! tip \"Nubenetes V2 Elite Portal\"\n"
|
||||
f" You are browsing the AI-Curated V2 Elite Edition. Looking for the exhaustive list of references? Check out the [**V1 Historical Archive**]({v1_link}).\n\n"
|
||||
f"!!! info \"Architectural Context\"\n"
|
||||
f" Detailed reference for {info['long_title']} in the context of {info['dim']}.\n\n"
|
||||
)
|
||||
|
||||
# Generate Table of Contents (TOC)
|
||||
exempt_files = self.link_rules.get("hierarchy_rules", {}).get("toc_exempt_files", [])
|
||||
@@ -1199,7 +1209,13 @@ class V2VisionEngine:
|
||||
custom_tags = sorted([t for t in by_tag.keys() if t not in standard_order])
|
||||
sorted_tags.extend(custom_tags)
|
||||
|
||||
md = "# Technical Tags Index\n\n!!! info \"Universal Tag Index\"\n Browse all V2 resources grouped by maturity levels and technical domains.\n\n"
|
||||
md = (
|
||||
"# Technical Tags Index\n\n"
|
||||
"!!! tip \"Nubenetes V2 Elite Portal\"\n"
|
||||
" You are browsing the AI-Curated V2 Elite Edition. Looking for the exhaustive list of references? Check out the [**V1 Historical Archive**](/v1/).\n\n"
|
||||
"!!! info \"Universal Tag Index\"\n"
|
||||
" Browse all V2 resources grouped by maturity levels and technical domains.\n\n"
|
||||
)
|
||||
|
||||
# Build TOC
|
||||
toc_lines = []
|
||||
|
||||
@@ -158,6 +158,9 @@ def generate_v2_videos():
|
||||
content = [
|
||||
f"# 🎥 {theme_title}",
|
||||
"",
|
||||
"!!! tip \"Nubenetes V2 Elite Portal\"",
|
||||
" You are browsing the AI-Curated V2 Elite Edition. Looking for the exhaustive list of references? Check out the [**V1 Historical Archive**](/v1/).",
|
||||
"",
|
||||
f"Welcome to the **{theme_title}** section of the V2 Video Hub. Explore curated high-density videos with architectural summaries.",
|
||||
"",
|
||||
"## Table of Contents",
|
||||
@@ -232,6 +235,9 @@ def generate_v2_videos():
|
||||
overview_content = [
|
||||
"# Agentic Video Hub",
|
||||
"",
|
||||
"!!! tip \"Nubenetes V2 Elite Portal\"",
|
||||
" You are browsing the AI-Curated V2 Elite Edition. Looking for the exhaustive list of references? Check out the [**V1 Historical Archive**](/v1/).",
|
||||
"",
|
||||
"Welcome to the **Nubenetes Elite Video Hub**. Discover highly-curated architectural video resources organized into logical learning paths:",
|
||||
"",
|
||||
"## Learning Dimensions",
|
||||
|
||||
Reference in New Issue
Block a user