From 4e23a0927d8abc7987cd1ef3ab5af5efc1eed800 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Tue, 12 May 2026 21:28:22 -1000 Subject: [PATCH 1/2] Surface public RSC performance demo --- prototypes/docusaurus/sidebars.ts | 8 ++++++++ prototypes/docusaurus/src/pages/examples.tsx | 16 +++++++++++++++- prototypes/docusaurus/src/pages/pro.tsx | 14 +++++++++++++- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/prototypes/docusaurus/sidebars.ts b/prototypes/docusaurus/sidebars.ts index 87be5d7..9a7f5f4 100644 --- a/prototypes/docusaurus/sidebars.ts +++ b/prototypes/docusaurus/sidebars.ts @@ -6,6 +6,9 @@ import type { SidebarsConfig } from '@docusaurus/plugin-content-docs'; // - deployment/troubleshooting-when-using-webpacker // - misc/asset-pipeline // +// URL-compatibility stubs (redirect to a current, live page): +// - pro/home-pro (→ pro/react-on-rails-pro) +// // Contributing/Resources pages (linked from introduction.md instead of sidebar): // - misc/doctrine // - misc/style @@ -24,6 +27,7 @@ const sidebars: SidebarsConfig = { collapsed: false, items: [ 'getting-started/quick-start', + 'getting-started/examples-and-references', 'getting-started/create-react-on-rails-app', 'getting-started/tutorial', 'getting-started/installation-into-an-existing-rails-app', @@ -172,6 +176,7 @@ const sidebars: SidebarsConfig = { type: 'category', label: 'Migration Guides', items: [ + 'migrating/example-migrations', 'migrating/migrating-from-react-rails', 'migrating/migrating-from-vite-rails', 'migrating/migrating-from-webpack-to-rspack', @@ -201,6 +206,7 @@ const sidebars: SidebarsConfig = { link: { type: 'doc', id: 'pro/react-server-components/index' }, items: [ 'pro/react-server-components/purpose-and-benefits', + 'pro/react-server-components/success-stories', 'pro/react-server-components/how-react-server-components-work', 'pro/react-server-components/rendering-flow', 'pro/react-server-components/tutorial', @@ -211,6 +217,7 @@ const sidebars: SidebarsConfig = { 'pro/react-server-components/selective-hydration-in-streamed-components', 'pro/react-server-components/flight-protocol-syntax', 'pro/react-server-components/upgrading-existing-pro-app', + 'pro/react-server-components/rspack-compatibility', 'pro/react-server-components/glossary', { type: 'category', @@ -221,6 +228,7 @@ const sidebars: SidebarsConfig = { 'migrating/rsc-component-patterns', 'migrating/rsc-context-and-state', 'migrating/rsc-data-fetching', + 'migrating/rsc-http-response-patterns', 'migrating/rsc-third-party-libs', 'migrating/rsc-troubleshooting', 'migrating/rsc-flight-payload', diff --git a/prototypes/docusaurus/src/pages/examples.tsx b/prototypes/docusaurus/src/pages/examples.tsx index f0a3c5f..190d77b 100644 --- a/prototypes/docusaurus/src/pages/examples.tsx +++ b/prototypes/docusaurus/src/pages/examples.tsx @@ -30,6 +30,14 @@ const evaluationPaths = [ href: docsRoutes.ossVsPro, cta: 'Compare OSS and Pro', }, + { + eyebrow: 'RSC proof path', + title: 'Inspect the RSC performance demo', + description: + 'Open the LocalHub benchmark dashboard with Lighthouse reports, bundle-size evidence, and SSR/client/RSC comparisons.', + href: 'https://rsc.reactonrails.com/search-performance', + cta: 'Open RSC benchmark', + }, ]; const exampleApps = [ @@ -51,6 +59,12 @@ const exampleApps = [ 'Official Vite Rails sample app used to document migration preflight and dependency lockfile issues.', href: 'https://github.com/ElMassimo/vite_ruby/tree/main/examples/rails', }, + { + title: 'react-on-rails-demo-marketplace-rsc', + description: + 'Public React on Rails Pro + RSC marketplace demo behind the LocalHub Lighthouse and bundle-size comparisons.', + href: 'https://github.com/shakacode/react-on-rails-demo-marketplace-rsc', + }, ]; export default function ExamplesPage(): ReactNode { @@ -90,7 +104,7 @@ export default function ExamplesPage(): ReactNode {

Reference repos

-

Open-source apps that map to the docs.

+

Public apps and demos that map to the docs.

{exampleApps.map((app) => ( diff --git a/prototypes/docusaurus/src/pages/pro.tsx b/prototypes/docusaurus/src/pages/pro.tsx index 9da9df0..a2ee8db 100644 --- a/prototypes/docusaurus/src/pages/pro.tsx +++ b/prototypes/docusaurus/src/pages/pro.tsx @@ -47,6 +47,11 @@ const featureRows = [ oss: 'Docs only', pro: 'Included', }, + { + feature: 'Public RSC demo with Lighthouse and bundle evidence', + oss: 'View-only', + pro: 'Included implementation patterns', + }, { feature: 'Support access with ShakaCode maintainers', oss: 'Community channels', @@ -76,6 +81,11 @@ export default function ProPage(): ReactNode { to={docsRoutes.proOverview}> Open Pro docs overview + + View RSC performance demo + @@ -144,7 +154,9 @@ export default function ProPage(): ReactNode {

Need pricing, implementation guidance, or a free-license discussion? Visit{' '} - the Pro docs landing page. + the Pro docs landing page. Want proof first? + Open the{' '} + RSC performance dashboard.

From 602ded388939ed466078da92c753d337a5eaf8c0 Mon Sep 17 00:00:00 2001 From: Justin Gordon Date: Tue, 12 May 2026 21:43:16 -1000 Subject: [PATCH 2/2] Use href for external RSC path card --- prototypes/docusaurus/src/pages/examples.tsx | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/prototypes/docusaurus/src/pages/examples.tsx b/prototypes/docusaurus/src/pages/examples.tsx index 190d77b..39c32c3 100644 --- a/prototypes/docusaurus/src/pages/examples.tsx +++ b/prototypes/docusaurus/src/pages/examples.tsx @@ -5,13 +5,20 @@ import Layout from '@theme/Layout'; import {docsRoutes} from '../constants/docsRoutes'; import styles from './examples.module.css'; -const evaluationPaths = [ +type EvaluationPath = { + eyebrow: string; + title: string; + description: string; + cta: string; +} & ({to: string; href?: never} | {href: string; to?: never}); + +const evaluationPaths: EvaluationPath[] = [ { eyebrow: 'Evaluator path', title: 'Compare setup approaches', description: 'Start with the docs landing page to choose between new app setup, existing app install, migration, or Pro evaluation.', - href: docsRoutes.docsGuide, + to: docsRoutes.docsGuide, cta: 'Open the docs guide', }, { @@ -19,7 +26,7 @@ const evaluationPaths = [ title: 'Move from react-rails', description: 'Follow a migration sequence validated against a real open-source example app instead of reconstructing it from old guides.', - href: docsRoutes.migrateFromReactRails, + to: docsRoutes.migrateFromReactRails, cta: 'Use the react-rails guide', }, { @@ -27,7 +34,7 @@ const evaluationPaths = [ title: 'Move from OSS to Pro', description: 'If your current app needs more SSR throughput or RSC support, compare OSS and Pro before adding the Pro package.', - href: docsRoutes.ossVsPro, + to: docsRoutes.ossVsPro, cta: 'Compare OSS and Pro', }, { @@ -93,7 +100,10 @@ export default function ExamplesPage(): ReactNode {

{path.eyebrow}

{path.title}

{path.description}

- + {path.cta}