Skip to content

docs: build the site with Nuxt 5 and @vite-hub/content - #45

Open
onmax wants to merge 19 commits into
mainfrom
docs/nuxt-vitehub-content
Open

onmax wants to merge 19 commits into
mainfrom
docs/nuxt-vitehub-content

Conversation

@onmax

@onmax onmax commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Draft. This is the spike for moving the docs site from docs/build.ts to Nuxt 5 and @vite-hub/content, for review. Don't merge it: build.ts still builds and deploys the site, and the switch-over steps below aren't done.

What it is

  • docs/ becomes a Nuxt app pinned to nuxt-nightly@5.0.0-2610192007-fe9ca5b. It reads docs/pages/*.md through @vite-hub/content (pkg.pr.new, pinned to commit f808e9c), with the workspace plugins in markdown.plugins.
  • server/api/pages/[...slug].get.ts ports the rendering from build.ts: example, examples, plugins, nav, and front matter. A page with plugin issues fails nuxi generate, the same as build.ts.
  • The page body is a server component (PageBody.server.vue). The HTML reaches the browser once: in the page on a first load, or as island JSON on a client-side navigation. v-html in a normal component also put the body in the payload and doubled /annotate/ to 470 KB.
  • HTML inserted by the client never runs its <script>s, so app/utils/scripts.ts re-runs the inlined zoom, carousel, annotate, and tabs scripts when an island brings them. Each script ref-counts its callers, so running it again is harmless.
  • Links prefetch on hover. Prefetch on visibility fetched the body of every page linked from the header.
  • docs/pages, the URLs, .well-known/agent-skills/* and .well-known/skills/*, and docs/worker.ts don't change.
  • Workspace: blockExoticSubdeps: false (the @vite-hub/* previews depend on each other by URL, and pnpm 11 has no per-package exception), allowBuilds: { esbuild: false }, and the nightly release-age exclusions. The root tsconfig.json excludes the Nuxt sources; vue-tsc checks them through docs/tsconfig.json.
  • The rebase onto main ports comark-tabs (feat(tabs): add comark-tabs, tabs and code groups that read without a script and sync by label #37) and the tabs → examples rename.

Checks

  • pnpm ready passes: 169 tests and every Doctor run, including doctor.config.ts over docs/pages.
  • pnpm --filter comark-plugins-docs generate prerenders 31 routes, including /tabs/. pnpm --filter comark-plugins-docs typecheck (vue-tsc) passes.
  • The e2e suite run against docs/.output/public passes 37 of 37.
  • A client-navigation test, not committed yet, also passes. It goes from / to /tabs/ (click and arrow keys), then to /annotate/ (zoom opens and closes on Escape), then Back to /tabs/, with no console errors, and checks that the window persists, so each step is a client-side navigation.
  • Earlier, in the spike: wrangler deploy --dry-run with docs/worker.ts and the Nuxt output passed.
build.ts Nuxt
Docs build 1.5 s, 223 MiB 4.4 s cold, about 1 GiB peak
Output 1.13 MB, 20 files 1.71 MB, 50 files
/annotate/ HTML 40 KB gzipped 35 KB gzipped (the CSS moved to its own file)
JS per page none about 87 KB gzipped

Before this can merge

The lockfile diff is mostly peer-context re-keys: the spike added 375 packages and changed none of the existing ones.

🤖 Generated with Claude Code

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Failed ❌

View logs ↗
16626cd 2026-10-21T14:54:26.806Z View logs ↗
  • Build: Failed ❌

View logs ↗
dd7505f 2026-10-21T14:23:28.659Z View logs ↗
  • Build: Failed ❌

View logs ↗
f2f08e9 2026-10-21T14:11:37.657Z View logs ↗
  • Build: Failed ❌

View logs ↗
a16cf5a 2026-10-21T13:31:50.546Z View logs ↗
  • Build: Failed ❌

View logs ↗
78f826c 2026-10-21T12:52:08.905Z View logs ↗
  • Build: Failed ❌

View logs ↗
e2d5296 2026-10-21T12:30:05.826Z View logs ↗
  • Build: Failed ❌

View logs ↗
98fccd7 2026-10-21T11:47:54.191Z View logs ↗
  • Build: Failed ❌

View logs ↗
afcf6a7 2026-10-21T11:33:13.262Z View logs ↗
  • Build: Failed ❌

View logs ↗
d908ef7 2026-10-21T09:46:36.313Z View logs ↗
  • Build: Failed ❌

View logs ↗
289c36e 2026-10-21T09:31:49.657Z View logs ↗

View all previews: View all previews ↗

@pkg-pr-new

pkg-pr-new Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Open in StackBlitz

comark-annotate

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-annotate@45

comark-carousel

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-carousel@45

comark-charts

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-charts@45

comark-embed

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-embed@45

comark-github-callouts

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-github-callouts@45

comark-include

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-include@45

comark-lint

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-lint@45

comark-tabs

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-tabs@45

comark-zoom

pnpm add https://pkg.pr.new/onmax/comark-plugins/comark-zoom@45

commit: 5379597

@vitehub-bot

vitehub-bot Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor
Session Status Started Duration
Pending Waiting 2026-10-21T15:30:10.851Z Paused
View session Waiting 2026-10-21T15:20:41.185Z 3m 22s
View session Last seen running 2026-10-21T14:56:00.094Z 1s

Next step

CI reconciliation completed; the same-head repair budget is exhausted.

Final answers

Session

CI reconciliation completed; the same-head repair budget is exhausted.

Session

CI reconciliation completed; the same-head repair budget is exhausted.

View session

Verified the expected HEAD and all review threads. No code repair is needed. E2E is an external service failure, and the Cloudflare check is unsupported without logs; both require hosted reruns.

Session

Fixed the required formatting failure in docs/nuxt.config.ts and pushed repair commit 16626cd. Existing code/icon review feedback is resolved. E2E failures include unavailable Playwright download DNS errors and remain for current-head CI verification; Cloudflare Workers failure is unsupported external evidence.

Session

Fixed the required formatting failure in docs/nuxt.config.ts and pushed repair commit 16626cd. Existing code/icon review feedback is resolved. E2E failures include unavailable Playwright download DNS errors and remain for current-head CI verification; Cloudflare Workers failure is unsupported external evidence.

Session

Fixed the required formatting failure in docs/nuxt.config.ts and pushed repair commit 16626cd. Existing code/icon review feedback is resolved. E2E failures include unavailable Playwright download DNS errors and remain for current-head CI verification; Cloudflare Workers failure is unsupported external evidence.

Session

Fixed the required formatting failure in docs/nuxt.config.ts and pushed repair commit 16626cd. Existing code/icon review feedback is resolved. E2E failures include unavailable Playwright download DNS errors and remain for current-head CI verification; Cloudflare Workers failure is unsupported external evidence.

Session

Fixed the required formatting failure in docs/nuxt.config.ts and pushed repair commit 16626cd. Existing code/icon review feedback is resolved. E2E failures include unavailable Playwright download DNS errors and remain for current-head CI verification; Cloudflare Workers failure is unsupported external evidence.

vitehub-bot Bot and others added 8 commits October 21, 2026 07:39
…nnested

The Nuxt site never registered comark-charts, so its page showed bare tables. A chart, a link card, or a diff no longer sits in a second frame, and the charts styles reach only the chart's own SVG, so a mark's arrow and circle keep their size.
…="none"

The box around a marked point grows to fit a circle, so with nothing drawn the arrow stopped about 20px short. A bare mark now keeps its box tight to the point.
@onmax

onmax commented Oct 21, 2026

Copy link
Copy Markdown
Owner Author

i think this is unblocked, please @vitehub-bot conflict solve merge and continue

@onmax
onmax marked this pull request as ready for review October 21, 2026 08:50
@onmax onmax added the babysitter:priority Babysitter works this PR first label Oct 21, 2026

@pullfrog pullfrog 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.

Important

This PR leaves the deployed site pointed at the wrong static output directory and removes the charts Agent Skill from discovery. Both should be fixed before merging.

Reviewed changes

  • Nuxt content migration Replaced the handwritten docs builder with Nuxt 5, @vite-hub/content, a server-rendered page body, and client-side navigation/runtime reinitialization.
  • Static generation and checks Added Nuxt generation, docs typechecking, a generated-site E2E server, and the associated workspace configuration.
  • Runtime adjustment Relaxed annotate's native context-menu geometry check so late layout updates still hand off the best available image.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-5.6-sol | 𝕏

Comment thread docs/nuxt.config.ts
Comment thread docs/nuxt.config.ts Outdated

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes

  • Completed deployment alignment Pointed Wrangler and the static E2E server at Nitro's docs/dist/public output root and added the generated asset MIME types.
  • Restored skill discovery Copied both comark-annotate and comark-charts into the legacy and Agent Skills discovery paths and generated both index entries.
  • Removed the obsolete builder Deleted the conflicting handwritten docs builder so docs:build uses Nuxt generation, while docs typechecking remains part of check.
  • Relaxed context-menu handoff Kept the prepared annotate copy as the fallback when late layout changes invalidate its geometry key.

Pullfrog  | View workflow run | Using gpt-5.6-sol | 𝕏

onmax added a commit to vite-hub/babysitter that referenced this pull request Oct 21, 2026
onmax/comark-plugins#45 sets blockExoticSubdeps: false, so the host refused every install and its
passes ran without dependencies. The host still installs with --ignore-scripts.
@vitehub-bot

vitehub-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Current HEAD d908ef7 fails the required check and e2e jobs during frozen install: pnpm reports a missing lockfile entry for the fontsource-variable caveat package version 5.3.0 (P1 broken lockfile). The repair window currently forbids edits and pushes, so this remains for the next pass.

@vitehub-bot

vitehub-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Verified current HEAD afcf6a7. Required check / check is P1: vp check fails formatting on docs/nuxt.config.ts. Required check / e2e is also failing during docs:build, while the Cloudflare Workers check is an unsupported external failure with no GitHub job log. Automated review threads are already resolved; no new P0/P1 review findings remain. The repair push window is closed until 2026-10-22T05:40:08Z, so these check defects require the next repair pass.

@onmax

onmax commented Oct 21, 2026

Copy link
Copy Markdown
Owner Author

use latest pkg.pr.new which i think ahas been updated. just to test :)

@pullfrog pullfrog 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.

Important

The merged docs pages currently render without the comark-code and comark-icon integrations, so the new /code/ and /icon/ documentation examples do not demonstrate the behavior they document.

Reviewed changes

  • Merged current docs content Incorporated the comark-code, comark-icon, and lint-comark changes from main into the Nuxt migration.
  • Repaired dependency metadata Restored the missing workspace packages and lockfile snapshots needed by the merged workspace state.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-5.6-sol | 𝕏

Comment thread docs/server/content.ts
@vitehub-bot

vitehub-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Verified against current HEAD 98fccd7: the comark-code and comark-icon integrations are still absent from docs/server/content.ts, the renderer component map, and docs/package.json. This is a valid P1 because /code/ and /icon/ lose documented behavior. The repair window is closed, so I cannot edit or push in this pass; it remains for the next repair pass.

@vitehub-bot

vitehub-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Verified current HEAD 98fccd7: vp check reproducibly fails formatting on docs/nuxt.config.ts (P1), and required check / e2e fails during nuxi generate (P1; hosted excerpt omits the root error). The comark-code/icon integration finding is already resolved and remains valid P1. Repair is blocked by the host push window until 2026-10-22T05:40:08Z; no files were edited.

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes

  • Corrected the tabs lockfile importer Moved comark-icon from devDependencies to dependencies for packages/tabs, matching the package manifest and preserving the runtime dependency in clean installs.

Pullfrog  | View workflow run | Using gpt-5.6-sol | 𝕏

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes

  • Registered code and icon integrations Added comark-code and comark-icon to the docs workspace dependencies, Markdown plugin pipeline, and HTML renderer component map so the merged documentation pages retain their documented behavior.
  • Reconciled lockfile metadata Restored the corresponding workspace importer entries and normalized the affected lockfile records without introducing source or runtime changes.

Pullfrog  | View workflow run | Using gpt-5.6-sol | 𝕏

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes

  • Repinned the Vite Hub preview Updated @vite-hub/content and its transitive preview packages from f808e9c to b8398fb.
  • Refreshed lockfile integrity data Replaced the affected tarball URLs, integrity hashes, and dependency references without changing the Nuxt source or deployment configuration.

Pullfrog  | View workflow run | Using gpt-5.6-sol | 𝕏

@pullfrog pullfrog 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.

Important

This commit makes clean installs fail because Nuxt preparation copies a playground directory that does not exist until a later build step.

Reviewed changes

  • Preserved the playground Added the generated legacy playground output to Nuxt's public asset set and changed docs:build to run the legacy builder before Nuxt generation.

Pullfrog  | Fix all ➔ | Fix 👍s ➔ | View workflow run | Using gpt-5.6-sol | 𝕏

Comment thread docs/nuxt.config.ts Outdated

@pullfrog pullfrog 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.

✅ No new issues found.

Reviewed changes

This incremental review covered the playground-preparation fix since the prior Pullfrog review, along with the complete PR diff for context.

  • Guarded optional playground copying Made the Nuxt asset preparation tolerate a missing prebuilt docs/dist/play/ directory while still copying it when the legacy build has produced it.
  • Added the docs image command Restored the root docs:images script in the current workspace configuration.

Pullfrog  | View workflow run | Using gpt-5.6-sol | 𝕏

@vitehub-bot

vitehub-bot Bot commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Current HEAD 16626cd passes local Nuxt generation after building workspace packages, and formatting is clean. The hosted e2e failure is not reproducible locally; its log includes Playwright download DNS failures (ENOTFOUND playwright.download.prss.microsoft.com) and broad timeouts, while exact-base e2e passes. Please rerun the e2e workflow after the Playwright download service recovers.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

babysitter:priority Babysitter works this PR first

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant