From c78708f7f0c08fa142b0cba1f73674513550fe71 Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 08:55:26 +0100 Subject: [PATCH 1/8] Fix 404 redirects for documentation site - Fix /blog/* redirect to point to /connect/home/ instead of non-existent /connect/about/ - Add version root redirects for 23.3, 24.1, 24.2, 24.3, 25.1, 25.2, 25.3 to their streaming component homes - Add catch-all redirects for old streaming version paths (23.1, 23.2, 22.x, 21.11) to streaming/current --- netlify.toml | 73 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 1 deletion(-) diff --git a/netlify.toml b/netlify.toml index 5741901..fee725a 100644 --- a/netlify.toml +++ b/netlify.toml @@ -264,6 +264,39 @@ from = "/21.11/*" to = "/streaming/current/:splat" status = 301 +# ================End of life versions (streaming paths)================= +# Catch-all redirects for streaming-prefixed old version paths + +[[redirects]] +from = "/streaming/23.2/*" +to = "/streaming/current/:splat" +status = 301 + +[[redirects]] +from = "/streaming/23.1/*" +to = "/streaming/current/:splat" +status = 301 + +[[redirects]] +from = "/streaming/22.3/*" +to = "/streaming/current/:splat" +status = 301 + +[[redirects]] +from = "/streaming/22.2/*" +to = "/streaming/current/:splat" +status = 301 + +[[redirects]] +from = "/streaming/22.1/*" +to = "/streaming/current/:splat" +status = 301 + +[[redirects]] +from = "/streaming/21.11/*" +to = "/streaming/current/:splat" +status = 301 + # ========= Component rename redirects ===================== # Redirect /current/* to /streaming/current/* @@ -288,6 +321,44 @@ from = "/redpanda-labs/*" to = "/labs/:splat" status = 301 +# ========= Version root redirects ===================== + +# Redirect version roots to their streaming component equivalents +[[redirects]] +from = "/25.3" +to = "/streaming/25.3/home/" +status = 301 + +[[redirects]] +from = "/25.2" +to = "/streaming/25.2/home/" +status = 301 + +[[redirects]] +from = "/25.1" +to = "/streaming/25.1/home/" +status = 301 + +[[redirects]] +from = "/24.3" +to = "/streaming/24.3/home/" +status = 301 + +[[redirects]] +from = "/24.2" +to = "/streaming/24.2/home/" +status = 301 + +[[redirects]] +from = "/24.1" +to = "/streaming/24.1/home/" +status = 301 + +[[redirects]] +from = "/23.3" +to = "/streaming/23.3/home/" +status = 301 + # ========= Docker example redirects ===================== [[redirects]] @@ -400,7 +471,7 @@ status = 301 [[redirects]] from = "/blog/*" -to = "/connect/about/" +to = "/connect/home/" status = 301 # =========Cloud redirects======== From 9f5c369a9ea4ed8165b70887727347bde3d721d4 Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 09:52:08 +0100 Subject: [PATCH 2/8] Re-enable serve-markdown edge function for content negotiation --- netlify.toml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/netlify.toml b/netlify.toml index fee725a..7633cf4 100644 --- a/netlify.toml +++ b/netlify.toml @@ -118,10 +118,9 @@ path = "/api/*" function = "proxy-api-docs" # Serve markdown content when Accept: text/markdown header is present -# TEMPORARILY DISABLED for debugging -# [[edge_functions]] -# path = "/*" -# function = "serve-markdown" +[[edge_functions]] +path = "/*" +function = "serve-markdown" # ========Beta redirects========== [[redirects]] From 1bcc5ff2d9d65b43c18588d35207837bc6112338 Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 12:55:27 +0100 Subject: [PATCH 3/8] Update UI bundle to latest release and enable announcements - Update all playbooks to use latest UI bundle release URL - Enable announcement banner in antora-playbook.yml and preview-antora-playbook.yml - local-antora-playbook.yml already had announcements enabled --- antora-playbook.yml | 4 ++-- local-antora-playbook.yml | 2 +- preview-antora-playbook.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/antora-playbook.yml b/antora-playbook.yml index 9dce634..c9347ce 100644 --- a/antora-playbook.yml +++ b/antora-playbook.yml @@ -49,7 +49,7 @@ site: User-agent: FacebookBot Allow: / keys: - announcement: false + announcement: true announcement-text: 'New! Redpanda SQL is here: query your event streams with familiar SQL syntax.' announcement-link-text: 'Learn more' announcement-link: 'https://www.redpanda.com/blog/redpanda-sql-ga' @@ -83,7 +83,7 @@ content: branches: main ui: bundle: - url: https://github.com/redpanda-data/docs-ui/releases/download/v3.0.0-beta.23/ui-bundle.zip + url: https://github.com/redpanda-data/docs-ui/releases/latest/download/ui-bundle.zip snapshot: true asciidoc: attributes: diff --git a/local-antora-playbook.yml b/local-antora-playbook.yml index ae4a974..3750d5b 100644 --- a/local-antora-playbook.yml +++ b/local-antora-playbook.yml @@ -39,7 +39,7 @@ content: #branches: feature/platform-badges ui: bundle: - url: https://github.com/redpanda-data/docs-ui/releases/download/v3.0.0-beta.12/ui-bundle.zip + url: https://github.com/redpanda-data/docs-ui/releases/latest/download/ui-bundle.zip snapshot: true asciidoc: attributes: diff --git a/preview-antora-playbook.yml b/preview-antora-playbook.yml index df7f774..97a4012 100644 --- a/preview-antora-playbook.yml +++ b/preview-antora-playbook.yml @@ -3,7 +3,7 @@ site: start_page: home:ROOT:index.adoc url: https://redpanda-antora-site.netlify.app keys: - announcement: false + announcement: true announcement-text: 'New! Redpanda SQL is here: query your event streams with familiar SQL syntax.' announcement-link-text: 'Learn more' announcement-link: 'https://www.redpanda.com/blog/redpanda-sql-ga' @@ -33,7 +33,7 @@ content: branches: main ui: bundle: - url: https://github.com/redpanda-data/docs-ui/releases/download/v3.0.0-beta.23/ui-bundle.zip + url: https://github.com/redpanda-data/docs-ui/releases/latest/download/ui-bundle.zip snapshot: true asciidoc: attributes: From 67598b748c58a16f35ed5a77f46e22e8248071db Mon Sep 17 00:00:00 2001 From: Jake Cahill <45230295+JakeSCahill@users.noreply.github.com> Date: Wed, 27 May 2026 13:09:51 +0100 Subject: [PATCH 4/8] Update preview-antora-playbook.yml --- preview-antora-playbook.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/preview-antora-playbook.yml b/preview-antora-playbook.yml index 97a4012..304e856 100644 --- a/preview-antora-playbook.yml +++ b/preview-antora-playbook.yml @@ -97,8 +97,6 @@ antora: line_color: '#e2401b' font_family: Inter, sans-serif - require: '@redpanda-data/docs-extensions-and-macros/extensions/modify-redirects' - - require: '@redpanda-data/docs-extensions-and-macros/extensions/algolia-indexer/index' - excludes: ['.thumbs','script', '.page-versions','.feedback-section','.banner-container'] - require: '@redpanda-data/docs-extensions-and-macros/extensions/unpublish-pages' - require: '@redpanda-data/docs-extensions-and-macros/extensions/unlisted-pages' - require: '@redpanda-data/docs-extensions-and-macros/extensions/add-global-attributes' From e61ede1051da27a0a3c9a8a4ec831db398d765cf Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 14:17:44 +0100 Subject: [PATCH 5/8] Add EOL version root redirects Add bare root redirects for EOL versions (23.2, 23.1, 22.3, 22.2, 22.1, 21.11) to streaming/current/home/, matching the pattern used for supported versions. --- netlify.toml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/netlify.toml b/netlify.toml index 7633cf4..f0f521b 100644 --- a/netlify.toml +++ b/netlify.toml @@ -233,6 +233,38 @@ status = 301 # ================End of life versions=================== +# EOL version root redirects (redirect to current) +[[redirects]] +from = "/23.2" +to = "/streaming/current/home/" +status = 301 + +[[redirects]] +from = "/23.1" +to = "/streaming/current/home/" +status = 301 + +[[redirects]] +from = "/22.3" +to = "/streaming/current/home/" +status = 301 + +[[redirects]] +from = "/22.2" +to = "/streaming/current/home/" +status = 301 + +[[redirects]] +from = "/22.1" +to = "/streaming/current/home/" +status = 301 + +[[redirects]] +from = "/21.11" +to = "/streaming/current/home/" +status = 301 + +# EOL version wildcard redirects [[redirects]] from = "/23.2/*" to = "/streaming/current/:splat" From fce1c1ff9d243ebd1b17b305f460386fbc3d855c Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 15:29:10 +0100 Subject: [PATCH 6/8] Add chat panel widget injection for Ask AI drawer Fetch and inject chat-panel-bump.html widget to enable the Ask AI drawer on Bump.sh API documentation pages. Co-Authored-By: Claude Opus 4.5 --- netlify/edge-functions/proxy-api-docs.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/netlify/edge-functions/proxy-api-docs.js b/netlify/edge-functions/proxy-api-docs.js index fbd2b19..88c9e1d 100644 --- a/netlify/edge-functions/proxy-api-docs.js +++ b/netlify/edge-functions/proxy-api-docs.js @@ -103,11 +103,13 @@ export default async (request, context) => { headScript, headerWidget, footerWidget, + chatPanelWidget, ] = await Promise.all([ bumpRes.text(), fetchWidget(`${originalOrigin}/assets/widgets/head-bump.html`, "head-bump"), fetchWidget(`${originalOrigin}/assets/widgets/header.html`, "header"), fetchWidget(`${originalOrigin}/assets/widgets/footer.html`, "footer"), + fetchWidget(`${originalOrigin}/assets/widgets/chat-panel-bump.html`, "chat-panel"), ]); let document; @@ -166,6 +168,15 @@ export default async (request, context) => { } } + // Inject chat panel (Ask AI drawer) + if (bottomBody && chatPanelWidget) { + const wrapper = document.createElement("div"); + wrapper.innerHTML = chatPanelWidget; + while (wrapper.firstChild) { + bottomBody.appendChild(wrapper.firstChild); + } + } + // Inject llms.txt directive for AI agent discovery const body = document.querySelector("body"); if (body) { From ec9f126356e75965aa3e8e569e7b329af497227b Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 15:33:29 +0100 Subject: [PATCH 7/8] Swap language --- data-platform/modules/ROOT/pages/index.adoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data-platform/modules/ROOT/pages/index.adoc b/data-platform/modules/ROOT/pages/index.adoc index 14f07bf..c2dbedf 100644 --- a/data-platform/modules/ROOT/pages/index.adoc +++ b/data-platform/modules/ROOT/pages/index.adoc @@ -4,7 +4,7 @@ // === HERO SECTION === :page-hero-eyebrow: REDPANDA DATA PLATFORM :page-hero-title: pass:[The streaming foundation
for everything you build.] -:page-hero-subtitle: Run Redpanda on your infrastructure or let us manage it in the cloud. Then connect it to everything else with declarative pipelines. +:page-hero-subtitle: Let us manage Redpanda in the cloud or run it on your infrastructure. Then connect it to everything else with declarative pipelines. :page-hero-stat1-number: 10x :page-hero-stat1-text: faster than Kafka, same wire :page-hero-stat2-number: 300+ From 3f3356d847d2d4f18ade3f3f9ae055ff9cabc151 Mon Sep 17 00:00:00 2001 From: JakeSCahill Date: Wed, 27 May 2026 15:47:45 +0100 Subject: [PATCH 8/8] Fix chat panel positioning and dark mode on API docs - Offset chat panel top to account for fixed navbar height - Add dark mode styles using html[data-theme="dark"] selector (Bump pages use this attribute, not .dark-theme class) - Ensure chat panel icons are visible via stroke/fill fixes Co-Authored-By: Claude Opus 4.5 --- netlify/edge-functions/proxy-api-docs.js | 33 ++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/netlify/edge-functions/proxy-api-docs.js b/netlify/edge-functions/proxy-api-docs.js index 88c9e1d..1c919ba 100644 --- a/netlify/edge-functions/proxy-api-docs.js +++ b/netlify/edge-functions/proxy-api-docs.js @@ -199,6 +199,39 @@ export default async (request, context) => { style.textContent = ".llms-directive{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}"; head.appendChild(style); } + + // Inject CSS fixes for chat panel and dark mode on Bump.sh pages + if (head) { + const fixStyle = document.createElement("style"); + fixStyle.textContent = ` + /* Fix chat panel top offset - account for fixed navbar */ + .chat-panel { top: var(--navbar-height, 70px) !important; height: calc(100vh - var(--navbar-height, 70px)) !important; } + + /* Fix chat head icons - ensure SVGs are visible */ + .chat-head-btn svg { stroke: currentColor !important; } + .chat-head-icon svg { fill: currentColor !important; } + + /* Dark mode fixes using html[data-theme="dark"] selector (Bump pages use this, not .dark-theme) */ + html[data-theme="dark"] .navbar { background: #0f172a !important; } + html[data-theme="dark"] .chat-panel { background: #1a2332 !important; color: #e8eef6 !important; border-left-color: rgba(255,255,255,0.08) !important; } + html[data-theme="dark"] .chat-head { border-bottom-color: rgba(255,255,255,0.08) !important; } + html[data-theme="dark"] .chat-head-name { color: #e8eef6 !important; } + html[data-theme="dark"] .chat-head-sub { color: #7c8ca8 !important; } + html[data-theme="dark"] .chat-head-btn { color: #7c8ca8 !important; } + html[data-theme="dark"] .chat-head-btn:hover { background: rgba(255,255,255,0.05) !important; color: #e8eef6 !important; } + html[data-theme="dark"] .chat-foot { color: #7c8ca8 !important; border-top-color: rgba(255,255,255,0.08) !important; } + html[data-theme="dark"] #chat-panel-kapa-root { color: #e8eef6 !important; } + html[data-theme="dark"] #chat-panel-kapa-root .welcome-icon { background: linear-gradient(135deg, #312e81 0%, #3730a3 100%) !important; color: #a5b4fc !important; } + html[data-theme="dark"] #chat-panel-kapa-root .welcome-title { color: #e8eef6 !important; } + html[data-theme="dark"] #chat-panel-kapa-root .welcome-description { color: #7c8ca8 !important; } + html[data-theme="dark"] #chat-panel-kapa-root .suggestion-card { background: #232f3e !important; border-color: rgba(255,255,255,0.1) !important; color: #aab8ca !important; } + html[data-theme="dark"] #chat-panel-kapa-root .suggestion-card:hover { background: #2a3a4d !important; border-color: rgba(255,255,255,0.15) !important; color: #e8eef6 !important; } + html[data-theme="dark"] #chat-panel-kapa-root .chat-input-wrapper { background: #232f3e !important; border-color: rgba(255,255,255,0.1) !important; } + html[data-theme="dark"] #chat-panel-kapa-root .chat-input-wrapper .chat-input { background: transparent !important; color: #e8eef6 !important; } + html[data-theme="dark"] #chat-panel-kapa-root .disclaimer { color: #7c8ca8 !important; background: #1a2332 !important; } + `.replace(/\s+/g, ' ').trim(); + head.appendChild(fixStyle); + } } const htmlOutput = document.documentElement?.outerHTML || originalHtml;