Skip to content

docs: fix broken links and outdated content - #488

Merged
IgorShevchik merged 1 commit into
mainfrom
sync/nuxt-c6a756c5
Aug 25, 2026
Merged

docs: fix broken links and outdated content#488
IgorShevchik merged 1 commit into
mainfrom
sync/nuxt-c6a756c5

Conversation

@IgorShevchik

Copy link
Copy Markdown
Collaborator

Linked issue

Sync with nuxt/ui@v4c6a756c5 (nuxt/ui#6867). After this the cursor is at upstream HEAD.

Type of change

  • Documentation (updates to the documentation or readme)

Description

Upstream touches 101 files, mixing four different things: broken-link fixes, front-matter keywords for docs search and the MCP search-components tool, corrections where the documented API had drifted from the code, and editorial rewording. Scope was everything applicable, by maintainer decision.

Method

Applying the patch whole fails — our docs diverge too far. It went hunk by hunk instead: 154 hunks tried individually.

  • 47 applied cleanly — which proves our text equalled upstream's pre-image, the only case where copying is safe by construction.
  • 107 rejected — our text differs; each was then judged on intent rather than text.

The 15 files we lack (Carousel, Marquee, PricingTable, ChangelogVersion, Icon, blog, migration v3/v4, MCP page, figma.yml, community.yml, Carousel.vue) were excluded up front.

Applying cleanly is not sufficient

A hunk can replace text we shared with text describing upstream's reality. Three did, and were corrected:

  • contribution page's directory tree listed a blog/ this fork does not have — rewritten to our actual layout, naming our landing pages.
  • that same file's fences — upstream normalised every ```sh to ```bash, but only some hunks applied here, leaving the page mixed. Normalised the remaining four.
  • Content page gained a sentence saying "Nuxt UI ships helpers" — rebranded per §1.

One auto-applied hunk is a genuine bug fix here: the Vue color-mode example set colorMode.preference while the getter three lines above reads colorMode.value.

API accuracy — verified against our source, not copied

use-toast.md took 8 fixes, each confirmed in useToast.ts / Toast.vue:

documented our source
title / description: string | VNode | (() => VNode) StringOrVNode
close: boolean | Omit<ButtonProps, LinkPropsKeys> verbatim
progress: boolean | Pick<ProgressProps, 'color' | 'b24ui'> verbatim — uib24ui per §1
id is generated; reusing one merges into that toast generateId() + the _duplicate branch
duration defaults to 5000, 0 keeps it open Toaster.vue:70 and the prop's jsDoc
update() takes Omit<Partial<Toast>, 'id'> verbatim

One value deliberately diverges: upstream documents the toast colour default as primary; ours is air-secondary (theme/toast.ts), and that is what the page now says. Copying upstream's default would have been wrong.

define-shortcuts.md gained the meta/command and alt/option aliases (defineShortcuts.ts:295,298), four more special keys (the key map at :59-64 carries space, tab, backspace, delete), and the event-receiving handler. The space note about layoutIndependent holds because useCode = layoutIndependent || e.altKey (:144). Our page had already been corrected ahead of upstream on the signature and MaybeRef config.

use-overlay.md needed nothing — already matched upstream's post-fix text on all three points.

Links and keywords

Three of upstream's six link fixes are broken here too and were applied: tiptap.dev/.../floating-menufloatingmenu, and two ai-sdk.dev/docs/guides/providers/*providers/ai-sdk-providers/*. The rest are absent or already current. Upstream's split of the integrations links does not apply: 0.index.md already uses the direct form, and in 1.index.md the bare paths redirect rather than break (nuxt.config.ts:361-362), where the bullet list deliberately carries one link per feature.

18 component pages gained the keywords block, inserted after category: to match the existing convention.

One regression caught by a guard

Upstream drops title: from front matter, deriving it from the filename. That hunk applied to error.md and skill-manifest.spec.ts went red — this fork's skill index resolves rows through title, so the page became unreachable (B24Error -> error.md (no such page)). Restored. Worth flagging: the page still built fine, and only the guard noticed.

Verification

Gate with CI=true: lint · typecheck · test (7168 passed, 6 skipped, 314 files) · docs:generate (1262 routes). 54 files changed, +195/−85.

Ledger: cursor → c6a756c5, one entry with its .sync/log/ journal, parity snapshot refreshed (zero package differences).

Checklist

  • I have linked an issue or discussion.
  • I have updated the documentation accordingly.

Generated by Claude Code

Ports nuxt/ui `c6a756c5` (#6867) — everything applicable, by maintainer
decision. Upstream touches 101 files, mixing broken-link fixes, front-matter
`keywords` for docs search, corrections where the documented API had drifted
from the code, and editorial rewording.

**Method.** Applying the patch whole fails — our docs diverge too far. It went
hunk by hunk instead: 154 hunks tried individually, **47 applied cleanly** and
107 were rejected. A hunk that applies proves our text equalled upstream's
pre-image, which is the only case where copying is safe by construction; the
rejects were then judged on intent rather than text. The 15 files we lack were
excluded up front.

**Applying cleanly is not sufficient.** A hunk can replace text we shared with
text describing *upstream's* reality, and three did: the contribution page's
directory tree listed a `blog/` this fork does not have, that same file was left
with mixed ```sh / ```bash fences because only some of its hunks applied, and the
Content page gained a sentence saying "Nuxt UI ships helpers". All three
corrected. One auto-applied hunk is a genuine bug fix here — the Vue color-mode
example set `colorMode.preference` while the getter three lines above reads
`colorMode.value`.

**API accuracy was verified against our source, not copied.** `use-toast.md`
took 8 fixes, each confirmed in `useToast.ts` / `Toast.vue`: the `StringOrVNode`
title and description, `close: boolean | Omit<ButtonProps, LinkPropsKeys>`,
`progress: boolean | Pick<ProgressProps, 'color' | 'b24ui'>`, the generated id
and its merge-on-reuse behaviour, `duration` defaulting to 5000 with `0` keeping
the toast open, and `update()`'s `Omit<Partial<Toast>, 'id'>`. One value
deliberately diverges: upstream documents the colour default as `primary`, ours
is **`air-secondary`**, and that is what the page now says.

`define-shortcuts.md` gained the `meta`/`command` and `alt`/`option` aliases,
four more special keys, and the event-receiving `handler` — all checked against
`defineShortcuts.ts`. `use-overlay.md` needed nothing; it already matched
upstream's post-fix text.

Three of upstream's six link fixes are broken here too and were applied. The
integrations-link split does not apply: one page already uses the direct form and
on the other the bare paths redirect rather than break.

18 component pages gained the `keywords` block.

**One regression caught by a guard.** Upstream drops `title:` from front matter,
deriving it from the filename. That hunk applied to `error.md`, and
`skill-manifest.spec.ts` went red — this fork's skill index resolves rows through
`title`, so the page became unreachable. Restored. The page still built fine;
only the guard noticed.

Verified with `CI=true`: `lint` · `typecheck` · `test` (7168 passed, 6 skipped,
314 files) · `docs:generate` (1262 routes).

Ledger: cursor → `c6a756c5` (upstream HEAD), parity snapshot refreshed.
@IgorShevchik
IgorShevchik merged commit bfaf4df into main Aug 25, 2026
2 checks passed
@IgorShevchik
IgorShevchik deleted the sync/nuxt-c6a756c5 branch August 25, 2026 05:30
IgorShevchik added a commit that referenced this pull request Aug 25, 2026
The entry was written with `pending-merge` because the PR carrying it had not
merged yet; it now points at #488 and its squash SHA `bfaf4dfe`. No entry in the
ledger is left unreconciled, and the cursor `c6a756c5` is upstream HEAD.

Bookkeeping only — no source, test or docs change.

Co-authored-by: Shevchik Igor <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.

2 participants