Commit Graph

4001 Commits

Author SHA1 Message Date
Nubenetes Bot
27716bbb4c feat(v2/nav): redesign quick-nav as centered category-grouped pill chips
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>
2026-06-20 15:28:52 +02:00
Nubenetes Bot
c80e1fd4b4 feat(v2/nav): expand quick-nav with ten principal topic flagships
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>
2026-06-20 15:09:21 +02:00
Nubenetes Bot
85e47f12af feat(v2/nav): slim quick-nav bar with persistent key destinations
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 
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>
2026-06-20 14:47:12 +02:00
Nubenetes Bot
bfdec79f41 feat(v2/seo): per-page CollectionPage JSON-LD with datePublished/dateModified
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>
2026-06-20 13:51:37 +02:00
Nubenetes Bot
fcf47473da fix(v2): don't inject the resource/tag filter on Topic Map & Methodology
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>
2026-06-20 12:39:02 +02:00
Nubenetes Bot
266499ac2f feat(v2/seo): per-page last-updated dates + JSON-LD structured data
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>
2026-06-20 12:23:49 +02:00
Nubenetes Bot
ae0af172dc fix(v2): Topic Map dimensions must be h2 not h3 (MD001 lint failure)
The Topic Map page H1 is 'Topic Map', so dimension headings jumped h1->h3
and tripped markdownlint MD001/heading-increment, failing 07.2 Markdown
Linter on develop and master after v2.9.16. Emit dimensions as h2 in the
generator, the committed page, and update the CSS selector
(.topic-map-dim h2). Verified 0 errors with the CI markdownlint config.
Bumped v2_elite.css?v=2.9.17.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 12:03:02 +02:00
Nubenetes Bot
c41028e023 feat(v2): restructure home — Topic Map + Methodology pages, mosaic & a11y polish
Declutter the V2 landing page into a curated entry point and move the
full category directory and reference legends to dedicated pages.

Home (index):
- Move "Trending Now / Digest" above the signature YouTube mosaic (fix
  inverted altitude: fresh, dynamic content first).
- Replace the ~130-link "Strategic Dimensions" dump with a "Topic Map"
  badge card + a slim reference footer (Topic Map · Methodology · Videos).
- Frame the mosaic with a "The Cloud Native Universe We Track" heading.

New generated pages:
- topic-map.md — full category directory by dimension in a responsive
  multi-column CSS grid, with per-category resource counts.
- methodology.md — Maturity Taxonomy + Technical Impact legend tables
  (moved out of the home).

Mosaic (kept as brand signature, reinforced):
- Surface the per-group category labels that were hidden in title=.
- loading="lazy" on the ~150 channel logos (LCP/perf win).

about.md videos:
- youtube-nocookie.com + loading="lazy" + responsive aspect-ratio wrapper.

Config & cleanup:
- Disable navigation.expand (169-entry nav stayed fully open); the Topic
  Map page now serves as the full directory.
- Branded 404 page with clear ways back (Home / Topic Map / V1 Archive).
- Hoist repeated inline styles (hero badge row) into CSS classes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 11:52:21 +02:00
Nubenetes Bot
19b7b44e20 feat(v2): restore in-page search/tag filter & drop redundant Markdown TOC
Fix: the per-page resource search box with maturity tag-pills stopped
appearing after navigation.instant was enabled (DOMContentLoaded fires only
on first SPA load). Reworked v2_filter.js to init via Material's document$
observable with a DOMContentLoaded fallback, guard double-injection, bind the
clickable-tag delegation once, and add a no-results state. Cache-bust ?v=2.9.12.

Change: removed the duplicated Markdown "## Table of Contents" from all 156 V2
content pages and from v2_optimizer.py — it forced hundreds of links of scroll
on large pages. Replaced by Material's native sticky "On this page" TOC
(removed toc.integrate, added toc.follow). tags.md keeps its TOC (it is an index).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 18:49:15 +02:00
Nubenetes Bot
891f4b8dbd fix: align Intelligence Digest hero card height with the other 4
The four logo hero cards use a 100px <img>; the Intelligence Digest card
uses an emoji <div class=hero-badge-icon> that was only ~32px tall, so it
rendered shorter. Give .hero-badge-icon a 100px flex-centered box (and
matching 12px bottom margin) so all five cards are the same height.

Cache-bust bumped to ?v=2.9.7.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 15:41:32 +02:00
Nubenetes Bot
e95cd9dc56 fix: stop YouTube mosaic from rendering the entire inventory (index outage)
load_inventory_channels() selected entries via 'youtube_mosaic' in entry
(key presence). save_inventory() always writes a youtube_mosaic column
that the SQL round-trip materializes as an empty dict {} on EVERY entry,
so the filter matched all 18,647 inventory entries and emitted ~18.6k
inline <img> links on a single line. That produced a 4MB v2-docs/index.md
(and 2.9MB docs/index.md), hanging both V1 and V2 index pages in the
browser. A prior revert masked it; the next SQL-backed sync re-broke it.

Fix: only treat an entry as a mosaic channel when youtube_mosaic is a
non-empty dict with a logo image (136 curated channels). Regenerated both
index files via reorganize_mosaic — docs/index.md is now byte-identical
to the last known-good state (52KB); v2-docs/index.md back to 41KB.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 15:24:00 +02:00
Nubenetes Bot
99c9e2f8f0 fix: remove content-visibility from dense indexes (v2.9.2)
Removed `content-visibility: auto` on broad <ul>/<ol> selectors and
.v2-tag-section. On the slate (dark) theme it produced black flashes
while scrolling and made link lists below the index mosaic appear
collapsed/broken due to intrinsic-size mismatch causing scrollbar jumps.
The tags page already uses collapsed <details> (native render skipping),
so the optimization was redundant and harmful.

Bumped CSS cache-bust to ?v=2.9.2.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 14:32:32 +02:00
Nubenetes Bot
72bb3c5150 feat: sync V2 elite curated edition and README metrics [skip ci] 2026-06-19 11:58:46 +00:00
Nubenetes Bot
119bd4158f revert: restore v2.8.4 state — publisher deletions broke V2 portal
The publisher deleted ~30 v2-docs pages still referenced in v2-mkdocs.yml nav,
producing a broken MkDocs build. Rolling back to last known good state (v2.8.4).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 13:19:40 +02:00
Nubenetes Bot
1b56b77cbf feat: sync V2 elite curated edition and README metrics [skip ci] 2026-06-19 10:51:23 +00:00
Nubenetes Bot
88f891fd4e feat: 5 improvements — geo inference, last-updated badge, search boost, RSS feed, weekly cron
1. geo_region inference: _infer_geo_from_url() infers Americas/Europe/España/Asia-Pacific
   from URL TLD (.es .de .fr .uk .jp .cn etc.) as fallback when geo_region field is empty.
   Industry digest now shows real content instead of empty categories.

2. Last-updated badge: trending section header now shows "Updated Jun 19, 2026" pill
   derived from news_digest.json mtime — gives readers confidence in freshness.

3. Search boost: tech-digest and industry-digest pages now have search.boost: 2
   frontmatter so they rank higher in MkDocs Material site search.

4. RSS feed (src/rss_generator.py): generates v2-docs/feed.xml with top-20 curated
   picks from 3-month digest. Runs after news_digest in publisher. Autodiscovery
   <link rel="alternate"> added to v2-mkdocs.yml extra_head.

5. Weekly cron (09.weekly_digest.yml): runs every Monday 06:00 UTC, generates digest
   with Gemini, renders digest pages, commits, then triggers publisher.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 11:11:02 +02:00
Nubenetes Bot
c8ca878f66 feat: add Intelligence Digest card to index hero and mini-preview block
- New hero card (amber color) between AI & MCP Agents and Agentic Video
  Hub, linking to /tech-digest/ with emoji icon and subtitle
- Dynamic digest-preview block above Agentic Pulse: shows top 1 link
  from 5 priority categories (Kubernetes, AI, Security, IaC, Observability)
  pulled from data/news_digest.json on each optimizer run
- New CSS: hero-badge-card--amber, hero-badge-icon, digest-preview
  component with category chips and hover states
- v2_optimizer now generates both the card and preview automatically

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 10:58:52 +02:00
Nubenetes Bot
8b04851097 fix: exclude digest pages from v2_filter.js injection
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:46:47 +02:00
Nubenetes Bot
1149a9c8f7 feat: add announcement bar, tags/RSS/minify plugins, markdown extensions, and fix comparison table threshold
- Add announcement bar with digest promo via template override
- Enable tags plugin (native clickable tag navigation)
- Add RSS plugin for digest feed subscription
- Enable minify plugin for production HTML optimization
- Add markdown extensions: highlight, inlinehilite, smartsymbols, caret, tilde, tables, footnotes, abbr, def_list
- Add mkdocs-rss-plugin to requirements.txt
- Fix comparison table threshold mismatch (config: 8, code: 5 → aligned to 8)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:42:17 +02:00
Nubenetes Bot
4e87c248fd feat: implement AI-powered news digest engine, MkDocs UX overhaul, pipeline hardening, and stub page merges
- Add 26-category news digest engine (src/news_digest.py) with Gemini AI ranking
  for 3/6/12 month temporal panels across tech, cloud, and geo categories
- Add discovered_at, company, geo_region fields to inventory schema with backfill
  script populating 18K+ existing entries
- Fix critical v2-mkdocs.yml bug: plugins were nested under theme (silently disabled)
- Add MkDocs Material features: instant nav, breadcrumbs, footer, announce bar
- Add trending cards CSS grid and replace Agentic Pulse with dynamic Trending Now
- Generate tech-digest.md and industry-digest.md with tabbed 3/6/12 month views
- Merge 12 stub pages (<40 lines each) into parent categories with redirects
- Replace 50 bare except:pass patterns with contextual logging across all pipeline files
- Expand autonomous discovery from 6 to 14 GitHub search queries
- Add stale health re-check for online entries older than 30 days
- Track addition_method by source type (rss, twitter, github_trending)
- Add digest generation step to CI publish workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 00:38:56 +02:00
Nubenetes Bot
1a5e3c6a0a fix(about): adjust horizontal rule style to meet MD035 linter requirement 2026-06-18 15:56:15 +02:00
Nubenetes Bot
5b90fef67b style: implement modern browser-native CSS features (balanced headings, orphan controls, course touch targets, auto-sizing text areas) for V2 Elite 2026-06-18 15:43:38 +02:00
Nubenetes Bot
617c700018 feat: integrate advanced AI developer tools (Cursor, Antigravity, Claude Code, Copilot) into V1/V2 and fix parsing regex 2026-06-18 15:19:19 +02:00
Nubenetes Bot
ed79499373 feat(about): improve V2 about page manifest context and add 12 automation tools 2026-06-18 11:47:02 +02:00
Nubenetes Bot
ab72d9c411 feat: configure V2 to serve at root and V1 at /v1/ 2026-06-18 11:26:10 +02:00
Nubenetes Bot
378fbc948d feat: improve V2 index Maturity Taxonomy tags styling and optimize Technical Tags index page for usability and performance 2026-06-18 11:02:49 +02:00
Nubenetes Bot
235d9d721b feat: implement Phase 3 tagging system, clickable tag filtering, custom color badges, and tags.md index generation 2026-06-18 02:36:51 +02:00
Nubenetes Bot
8547f8ce56 docs: add multi-agent debate explanation and mermaid diagram to README 2026-06-18 02:00:47 +02:00
Nubenetes Bot
16ddf968f8 feat: V2 premium enhancements & global format 2026-06-18 01:47:42 +02:00
Nubenetes Bot
ae683c6d1a feat(v2): implement client-side interactive search/filter widget & upgrade Video Hub layout to glassmorphic cards grid 2026-06-18 01:16:59 +02:00
Nubenetes Bot
ae6e3f16a9 fix(v1): replace SoundCloud embed with official YouTube video in About page 2026-06-14 15:42:32 +02:00
Nubenetes Bot
67c3db59a9 fix(v1): finalize remaining SoundCloud embed fixes 2026-06-14 15:06:25 +02:00
Nubenetes Bot
4ac98e6346 fix(v1): update multimedia embeds (SoundCloud playlist in About, YouTube in GitOps) 2026-06-14 15:06:25 +02:00
Nubenetes Bot
7d5a592ce5 fix(v1): restore corrupted SoundCloud iframe URL encoding across all docs 2026-06-14 14:24:51 +02:00
Nubenetes Bot
08988fa7c0 feat(v2): complete global cleanup of broken links and expand About page with high-value technical leadership references 2026-06-14 14:11:01 +02:00
Nubenetes Bot
fd95c1b48e fix(v2): correct Vadim Kravcenko article URL in About page 2026-06-14 13:28:57 +02:00
Nubenetes Bot
ab0520e5ac fix(v2): remove broken link and replace with high-value PDD reference in About page 2026-06-14 13:27:52 +02:00
Nubenetes Bot
d29de67f71 chore: revert to clean directory URLs for SEO (use_directory_urls: true) 2026-06-12 20:44:40 +02:00
Nubenetes Bot
4f5d93f271 feat(ai): integrate Claude Code course and video hub update
- Added Anthropic 'Claude Code in Action' course to AI Agents and MCP sections.
- Integrated '6 Levels of Claude Code' video to the V2 Video Hub.
- Updated centralized inventory.yaml and regenerated V2 Elite Portal.
- Deduplicated Claude Code references in V1 archive.
2026-06-11 15:20:39 +02:00
Nubenetes Bot
719307f241 fix(logo): successfully extracted actual YouTube logo for Gustavo Entrala 2026-06-10 19:41:26 +02:00
Nubenetes Bot
c65aaaf882 fix(logo): use valid placeholder for gustavo entrala due to persistent download failures 2026-06-10 19:37:08 +02:00
Nubenetes Bot
8ced364420 fix(logo): use video hub logo as valid placeholder for gustavo entrala 2026-06-10 19:32:13 +02:00
Nubenetes Bot
f81fba1594 fix(mosaic): correct image path for Gustavo Entrala in V2 and restore valid logo 2026-06-10 19:25:09 +02:00
Nubenetes Bot
8a0b0406bf feat: add Gustavo Entrala YouTube channel to mosaics 2026-06-10 18:47:23 +02:00
Nubenetes Bot
4ab138942e fix(v2): resolve mobile navigation drawer contrast issues in dark mode and bump version to 2.3.42 2026-06-03 15:12:55 +02:00
Nubenetes Bot
1058aa3ca8 docs: remove deprecated AWS Quick Start reference for v2.3.40 2026-06-03 09:26:39 +02:00
Nubenetes Bot
f8ef8b02bc docs: add ClickHouse YouTube channel and update mosaics for v2.3.39 2026-06-02 22:15:21 +02:00
github-actions[bot]
f73c21fb9d chore: update docs/uncategorized.md [20260602-1218] 2026-06-02 12:18:31 +00:00
Nubenetes Bot
2193723030 feat: improve curation categories and parallelize AI evaluation 2026-06-01 16:17:39 +02:00
Nubenetes Bot
9085a4df85 fix: change arsys logo color to constant corporate sky blue (#00a2e8) for visibility in both light and dark backgrounds 2026-05-28 16:36:42 +02:00