This repository was archived by the owner on Oct 27, 2026. It is now read-only.
Repository navigation
Use Fumadocs' own content components - #1254
Open
sdserranog wants to merge 3 commits into
Open
sdserranog wants to merge 3 commits into
sdserranog wants to merge 3 commits into
Conversation
The MDX pages render with Fumadocs' components and typography instead of the
Nextra theme's, copied over during the migration:
- Callouts, tabs, steps, cards, code blocks, tables, links and images come
from fumadocs-ui. Thin wrappers in components/mdx take the props the pages
were written with (`<Tabs storageKey>`, `<Cards.Card>`, numbered `###`
inside `<Steps>`, `<Callout type="warning">`), so no MDX changes.
- The body uses Fumadocs' typography (`DocsBody`). Self-styled components
(client and framework cards, sample apps, auth providers) opt out with
`not-prose`.
- Code blocks: Fumadocs' title bar with a language icon, line numbers and
highlighted lines (`{1-3}`).
- Tabs remember the pick by label, not position, so groups that order their
tabs differently agree; "TypeScript" and "JavaScript" count as one pick.
Every panel stays in the HTML for search and deep links.
- Cards linking to a docs page show that page's description.
- `<details>` stays the native element, drawn like Fumadocs' accordion, so
its body is in the page for search and find-in-page.
- Headings keep their ids; the copy-link button adds no text to the heading.
Removes the ported Nextra renderers and about 500 lines of Nextra CSS.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Fumadocs opens the tab holding the URL's target when the hash changes. A click on a link to the hash the URL already has (a table of contents entry, after the reader switched to another tab) changes nothing, so the heading stayed in a closed tab. The tab group now opens it on that click too. The Nextra tabs on production had the same gap. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sdserranog
force-pushed
the
fumadocs-native-content
branch
from
October 20, 2026 16:19
23a91a2 to
c491f13
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit c491f13. Configure here.
A click on a link to the URL's current hash that points into a closed tab now cancels the browser's own jump (it aimed at the hidden heading and, with smooth scrolling, raced ours) and scrolls after React shows the tab. Other hash links are left to the browser and Fumadocs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
sdserranog
marked this pull request as ready for review
October 20, 2026 19:38
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

What this is
Step 2 of the Fumadocs follow-ups, stacked on #1253 (the page shell). The page content now renders with Fumadocs' own components and typography instead of the Nextra theme's, which were copied over during the migration.
components/mdxtake the props the 180 pages were written with (<Tabs storageKey>,<Cards.Card>,<Callout type="warning">, numbered###inside<Steps>).Preview: https://docs-git-fumadocs-native-content-arcade-ai.vercel.app
Before and after
Left is #1253, whose page content is the same as production. Right is this PR. Pink numbers mark what changed and match the list under each image.
Steps and code blocks
Highlighted lines
Tabs
Tabs now remember your pick by name, not position. Production remembered the position. So picking "JavaScript" on a page that lists Python first opened Python on "Secure auth in production", which lists JavaScript first. Here the same pick opens JavaScript.
Video
Tables and callouts
Cards
Collapsible sections
Toolkit pages
Light mode
Phone
How it was done
mdx-components.tsxstarts fromfumadocs-ui/mdx, so links, code blocks, tables and images are Fumadocs' own.DocsBodytypography. The home page is built from its own components and stays outside it.Callout. Nextra's types map onto Fumadocs' (defaultbecomes a tip,importanta warning).fd-steps/fd-steputilities number the headings inside<Steps>, so pages need no<Step>wrappers.storageKeybecomes Fumadocs' group sync, saved for the next visit.1.{1-3}line highlighting. Content needs no change.<details>): drawn like Fumadocs' accordion but kept as the native element. Fumadocs' Accordion leaves a closed body out of the page, which would hide it from search and find-in-page.not-prose, the Fumadocs convention: the client and framework cards, sample apps and auth provider cards. Without it, every line inside those link cards got underlined.What we checked so nothing broke
Each check compared #1253's preview with this branch.
/llms.mdx/*, used by Copy Markdown and agents): byte-for-byte identical on the same 40 pages.Two layout issues found while reviewing are fixed here:
Visible changes to know about
Not in this PR
The images live on the
pr-1254-mediabranch, which holds only media and can be deleted after merge.🤖 Generated with Claude Code
Note
Medium Risk
Wide change to how every docs page renders (typography, tabs, code blocks, headings) with intentional UX differences from production; MDX source is untouched but visual and interaction regressions are the main risk.
Overview
Docs content now uses Fumadocs typography and components instead of the ported Nextra theme. MDX pages are unchanged; wrappers keep Nextra-style props (
storageKey, callout types,<Cards.Card>, etc.).The docs route wraps non-landing MDX in
DocsBody.mdx-components.tsxspreadsfumadocs-ui/mdxfor prose, links, and code blocks, and drops the custom Nextra element renderers (elements,pre,code-buttons,tabs.client, icons). Callouts, cards, steps, and tables delegate to Fumadocs; tabs useSyncedTabs(label-based sync, invalid saved picks ignored, hash/TOC deep links);<details>stays native for search/find-in-page; headings use a custom copy-link control without polluting accessible names.global.cssremoves the large Nextra “content parity” block and adds small.prosefixes (task lists, blockquotes, table cells, hidden tab-label headings). Shiki insource.config.tsmaps fence{line}meta to Fumadocs’highlightedclass instead of reshaping output for Nextrapremarkup.Card/grid components add
not-proseso Fumadocs typography does not restyle them.tabValuetests cover cross-group tab memory.Reviewed by Cursor Bugbot for commit 430a2b5. Bugbot is set up for automated code reviews on this repo. Configure here.