Skip to content

Unify demo naming, live URL, and consultation CTA on marketing pages#122

Merged
justin808 merged 3 commits into
mainfrom
jg-conductor/docs-consistency-fixes
Jun 5, 2026
Merged

Unify demo naming, live URL, and consultation CTA on marketing pages#122
justin808 merged 3 commits into
mainfrom
jg-conductor/docs-consistency-fixes

Conversation

@justin808

@justin808 justin808 commented Jun 4, 2026

Copy link
Copy Markdown
Member

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_rails monorepo — 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)

Before After
Demo heading LocalHub — RSC performance demo Marketplace — RSC performance demo
Live link rsc.reactonrails.com/search-performance rsc.reactonrails.com (root)

Fixes the contradiction where the heading said "LocalHub" but the body said "a marketplace built on Pro." demos.ts was already "Marketplace".

Consultation CTAs (revised after review)

We deliberately do not force one label/URL. The funnel split is intentional:

  • Navbar "Get expert help" keeps its shakacode.com/contact destination (soft, top-of-funnel ask). Only the capitalization was normalized to sentence case (Get Expert HelpGet expert help).
  • Booking CTAs keep the HubSpot meeting link (hard ask) and their stage-appropriate labels: /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: the global footer Resources column had a redundant "Book a Complimentary Assessment" link duplicating the per-doc consultation card. Removed the link; the per-doc card remains the single booking CTA in the footer area.

Already consistent (no change needed)

Legacy demo URL in demos.ts was already https://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.
  • Re-grepped editable source: no 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 from rsc.reactonrails.com/search-performance to the site root rsc.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

  • Standardized text capitalization for call-to-action labels appearing throughout navigation and footer sections

Documentation

  • Updated marketplace demo reference with new demo resource link and revised title to "Marketplace — RSC performance demo"

…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>
@coderabbitai

coderabbitai Bot commented Jun 4, 2026

Copy link
Copy Markdown

Review Change Stack

Walkthrough

This 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.

Changes

Documentation UI Updates

Layer / File(s) Summary
Text capitalization consistency
prototypes/docusaurus/docusaurus.config.ts, prototypes/docusaurus/src/css/custom.css
Navbar CTA changed from "Get Expert Help" to "Get expert help", footer CTA changed from "Book a Complimentary Assessment" to "Book a complimentary assessment", and the matching CSS comment updated for consistency.
Demo card metadata update
prototypes/docusaurus/src/pages/pro.tsx
First demo card updated with new title "Marketplace — RSC performance demo" and liveHref changed to https://rsc.reactonrails.com.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

Poem

A rabbit hops through docs with care,
Fixes caps with tender flair,
"Expert" now in humble dress,
And demos link to new success! 🐰✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately captures the main changes: it unifies demo naming ('Marketplace' instead of 'LocalHub'), updates the live URL to rsc.reactonrails.com root, and standardizes consultation CTA copy to sentence case across marketing pages.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg-conductor/docs-consistency-fixes

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented Jun 4, 2026

Copy link
Copy Markdown

Greptile Summary

This 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 /pro demo card from "LocalHub" to "Marketplace" with its updated live URL. All changes are copy/label only — no layout, logic, or data flow is touched.

  • CTA unification: six surfaces (announcement bar, navbar, footer link, homepage, /pro page, DocItem footer card) now share one label and one HubSpot destination; the navbar was the only surface previously pointing to shakacode.com/contact.
  • Demo rename: /pro demo title aligned from "LocalHub" to "Marketplace" (matching the existing demos.ts entry) and live URL shortened to the root rsc.reactonrails.com.

Confidence Score: 4/5

Safe 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

Filename Overview
prototypes/docusaurus/docusaurus.config.ts Announcement bar label, navbar CTA label + destination, and footer link label unified; all now point to HubSpot meeting link
prototypes/docusaurus/src/css/custom.css Stale CSS comment updated from "Get Expert Help" to "Consultation navbar CTA" — no functional change
prototypes/docusaurus/src/pages/index.tsx Homepage consultation button label updated from "Book a free call" to "Book a free 30-min call"
prototypes/docusaurus/src/pages/pro.tsx Demo title changed from "LocalHub" to "Marketplace", live URL updated to rsc.reactonrails.com root, CTA label unified
prototypes/docusaurus/src/theme/DocItem/Footer/index.tsx CTA link label updated to "Book a free 30-min call"; body text uses "30-minute" (spelled out) while link uses "30-min" (abbreviated), creating a minor inconsistency within the same card

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)"]
Loading

Reviews (1): Last reviewed commit: "Unify demo naming, live demo URL, and co..." | Re-trigger Greptile

Comment on lines 17 to 18
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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 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.

Suggested change
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!

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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.',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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 👍 / 👎.

@github-actions

github-actions Bot commented Jun 4, 2026

Copy link
Copy Markdown

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>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

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.

Comment thread prototypes/docusaurus/docusaurus.config.ts
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>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between c4d66f3 and 82f0d00.

📒 Files selected for processing (3)
  • prototypes/docusaurus/docusaurus.config.ts
  • prototypes/docusaurus/src/css/custom.css
  • prototypes/docusaurus/src/pages/pro.tsx

{
href: 'https://www.shakacode.com/contact/',
label: 'Get Expert Help',
label: 'Get expert help',

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

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.

@justin808 justin808 merged commit 1ea5012 into main Jun 5, 2026
4 checks passed
@justin808 justin808 deleted the jg-conductor/docs-consistency-fixes branch June 5, 2026 04:21
justin808 added a commit that referenced this pull request Jun 5, 2026
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant