Unify demo naming, live URL, and consultation CTA on marketing pages#122
Conversation
…ages Marketing-page and site-config half of a docs/marketing consistency pass. The docs content itself lives in the shakacode/react_on_rails monorepo (synced + gitignored here), so those fixes are tracked in a separate issue. Demo naming and live URL (/pro): - Rename the flagship RSC demo heading "LocalHub - RSC performance demo" to "Marketplace - RSC performance demo", matching demos.ts and resolving the heading/body contradiction (heading said LocalHub, body said "a marketplace built on Pro"). - Point the live-demo link at the root https://rsc.reactonrails.com instead of the /search-performance deep link. Consultation CTA consolidation (one label + one destination everywhere): - Label is now "Book a free 30-min call" in the navbar, announcement banner, footer link, per-doc footer card, homepage, and /pro page. - Destination is the HubSpot meeting link everywhere; the navbar CTA no longer points at shakacode.com/contact. - Drop the "complimentary"/"assessment" wording variants. No layout or styling changes; copy and one stale CSS comment only. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
WalkthroughThis PR updates Docusaurus documentation UI labels and a live demo reference. Navbar and footer CTA text capitalization is standardized to sentence case across configuration and CSS, and the first Pro page demo card is updated with a new title and live demo link. ChangesDocumentation UI Updates
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Greptile SummaryThis PR unifies the consultation CTA label to "Book a free 30-min call" pointing to the HubSpot meeting link across all six marketing surfaces, and corrects the
Confidence Score: 4/5Safe to merge — all changes are copy/label text with no logic, routing, or data-flow modifications. Every changed line is a string literal or a CSS comment. The only nit is that the DocItem footer card body text says "30-minute" (spelled out) while the link label immediately below says "30-min" (abbreviated), leaving a small inconsistency inside that card despite the PR's goal of uniform wording. prototypes/docusaurus/src/theme/DocItem/Footer/index.tsx — body text and link label use different forms of "30-min/30-minute" Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["Announcement Bar\n'Book a free 30-min call'"] --> Z
B["Navbar CTA\n'Book a free 30-min call'\n(was: Get Expert Help → shakacode.com/contact)"] --> Z
C["Footer Link\n'Book a free 30-min call'"] --> Z
D["Homepage CTA\n'Book a free 30-min call'"] --> Z
E["/pro Page CTA\n'Book a free 30-min call'"] --> Z
F["DocItem Footer Card\n'Book a free 30-min call'"] --> Z
Z["https://meetings.hubspot.com/justingordon/30-minute-consultation"]
G["/pro Demo Card\nMarketplace — RSC performance demo"] --> H["https://rsc.reactonrails.com\n(was: /search-performance)"]
Reviews (1): Last reviewed commit: "Unify demo naming, live demo URL, and co..." | Re-trigger Greptile |
| ShakaCode builds and maintains React on Rails. Book a free 30-minute call | ||
| to get hands-on advice about your architecture, performance, or migration path. |
There was a problem hiding this comment.
The body sentence uses "30-minute" (spelled out) while the link immediately below uses "30-min" (abbreviated). Since the stated goal of this PR is one consistent label everywhere, aligning the body text to "30-min" as well keeps the card internally consistent.
| ShakaCode builds and maintains React on Rails. Book a free 30-minute call | |
| to get hands-on advice about your architecture, performance, or migration path. | |
| ShakaCode builds and maintains React on Rails. Book a free 30-min call | |
| to get hands-on advice about your architecture, performance, or migration path. |
Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 17797bcc32
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| id: 'consultation_cta', | ||
| content: | ||
| 'Want expert advice on your React on Rails setup? <a href="https://meetings.hubspot.com/justingordon/30-minute-consultation">Book a complimentary 30-minute assessment</a> with the ShakaCode team.', | ||
| 'Want expert advice on your React on Rails setup? <a href="https://meetings.hubspot.com/justingordon/30-minute-consultation">Book a free 30-min call</a> with the ShakaCode team.', |
There was a problem hiding this comment.
Bump the announcement id for the new CTA
For users who previously closed the old announcement bar, Docusaurus persists dismissal by announcementBar.id; since this changes the CTA copy but keeps the existing consultation_cta id, those returning users will never see the new unified CTA. If the updated consultation message is intended to be shown after this copy change, use a new id for this announcement.
Useful? React with 👍 / 👎.
|
Cloudflare preview deployed.
|
…footer
Revises the item 7 approach per review: instead of collapsing every
consultation CTA to a single label + URL, preserve the intentional funnel
split and only remove genuine redundancy.
- Navbar "Get expert help" keeps its shakacode.com/contact destination
(soft, top-of-funnel ask); reverts the earlier repoint to HubSpot.
- Stage-appropriate booking labels restored: /pro keeps "Book a 30-minute
consultation", the announcement banner keeps the "complimentary
assessment" phrasing, the homepage and per-doc footer card keep
"Book a free call".
- Footer dedupe: drop the redundant "Book a Complimentary Assessment" link
from the global footer Resources column; the per-doc consultation card
remains the single booking CTA in the footer area.
- Capitalization normalized to sentence case for the navbar CTA label
("Get Expert Help" -> "Get expert help").
Demo rename (Marketplace) and the rsc.reactonrails.com root live-demo URL
from the previous commit are unchanged.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is ON. A cloud agent has been kicked off to fix the reported issue.
Reviewed by Cursor Bugbot for commit 6b7e6c1. Configure here.
Per review, keep both footer consultation CTAs rather than collapsing to
one: the global footer Resources column gets its booking link back
alongside the per-doc consultation card. Restored in sentence case
("Book a complimentary assessment") to match the sentence-case
normalization applied to the other CTA labels in this PR.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@prototypes/docusaurus/docusaurus.config.ts`:
- Line 137: Before merging, add an explicit confirmation in the PR
description/discussion that you received prior approval to edit the Docusaurus
configuration (specifically the change touching the config entry with label:
'Get expert help') and note who approved it; update the PR body to state the
approver's name and timestamp so reviewers can verify the required "ask first"
guardrail has been followed.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 08bd3d7e-cc65-4da0-b470-ef62aa5eb787
📒 Files selected for processing (3)
prototypes/docusaurus/docusaurus.config.tsprototypes/docusaurus/src/css/custom.cssprototypes/docusaurus/src/pages/pro.tsx
| { | ||
| href: 'https://www.shakacode.com/contact/', | ||
| label: 'Get Expert Help', | ||
| label: 'Get expert help', |
There was a problem hiding this comment.
Please confirm prior approval for config-file edits.
This file has a repo-specific guardrail requiring “ask first” before any change to prototypes/docusaurus/docusaurus.config.ts. I don’t see evidence of that approval in the provided context; please add explicit confirmation in the PR discussion/description before merge.
As per coding guidelines: “Ask first before making changes to Docusaurus configuration (prototypes/docusaurus/docusaurus.config.ts).”
Also applies to: 194-194
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@prototypes/docusaurus/docusaurus.config.ts` at line 137, Before merging, add
an explicit confirmation in the PR description/discussion that you received
prior approval to edit the Docusaurus configuration (specifically the change
touching the config entry with label: 'Get expert help') and note who approved
it; update the PR body to state the approver's name and timestamp so reviewers
can verify the required "ask first" guardrail has been followed.
Standardizes the remaining Title-Case nav, footer, and button labels on sentence case, the convention already used by most action labels on the site (and the modern default for UI copy). Proper nouns stay capitalized (React on Rails, Pro, OSS, RSC, Rails, GitHub, ShakaCode). Footer: - Documentation Guide -> Documentation guide - Create a New App -> Create a new app - Install into Existing Rails App -> Install into existing Rails app - Quick Start -> Quick start - Pro Pricing & Sign Up -> Pro pricing & sign up Homepage: - Hero button "Browse Docs" -> "Browse docs" - Quick-start card titles: Create App / Install Into Rails / Upgrade To Pro -> Create app / Install into Rails / Upgrade to Pro - Value card "OSS And Pro" -> "OSS and Pro" The navbar consultation CTA was already sentence-cased in #122. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

What
The marketing-page + site-config half of a docs/marketing consistency pass.
The docs half (introduction, tutorial, README, changelog link, version floors, v15 retraction notice) lives in the
shakacode/react_on_railsmonorepo — docs are synced + gitignored here — and is tracked in shakacode/react_on_rails#3596.Changes (copy + config only — no layout/styling changes)
Demo naming + live URL (
/pro)LocalHub — RSC performance demoMarketplace — RSC performance demorsc.reactonrails.com/search-performancersc.reactonrails.com(root)Fixes the contradiction where the heading said "LocalHub" but the body said "a marketplace built on Pro."
demos.tswas already "Marketplace".Consultation CTAs (revised after review)
We deliberately do not force one label/URL. The funnel split is intentional:
shakacode.com/contactdestination (soft, top-of-funnel ask). Only the capitalization was normalized to sentence case (Get Expert Help→Get expert help)./prokeeps "Book a 30-minute consultation", the announcement banner keeps the "complimentary assessment" phrasing, the homepage and per-doc footer card keep "Book a free call".Already consistent (no change needed)
Legacy demo URL in
demos.tswas alreadyhttps://www.reactrails.com; the footer Changelog link already targets/docs/upgrading/changelog(verified it exists and resolves); the Gumroad "coming soon" card was already replaced with a live URL + screenshot in a prior commit.Verification
npm run build→[SUCCESS]. Broken-link warnings are all in upstream/docs/*synced content and pre-existing; none come from these changes.LocalHub,search-performance, or duplicate booking link remain.Follow-up
🤖 Generated with Claude Code
Note
Low Risk
Copy and link text only in marketing config and the Pro page; no auth, data, or application logic.
Overview
Aligns marketing copy on the Docusaurus site with the Marketplace RSC demo and softer CTA wording—no layout or styling behavior changes.
On
/pro, the first demo is renamed from LocalHub to Marketplace — RSC performance demo, and its live link moves fromrsc.reactonrails.com/search-performanceto the site rootrsc.reactonrails.com, matching the marketplace description and other demo data.Navbar and footer consultation labels use sentence case (
Get expert help,Book a complimentary assessment). A CSS comment for the navbar CTA is updated to match. URLs are unchanged in this diff (navbar still points at ShakaCode contact; footer still uses HubSpot).Reviewed by Cursor Bugbot for commit 82f0d00. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit
Style
Documentation