Skip to content

nuxi generate, one POST — your Nuxt site on a URL

nuxi generate prerenders every route and writes a pure static site to .output/public/. No Nitro server, no edge functions — just files. Ship the folder, get a link.

Drop your Nuxt report here — get a live link

free, no account, live for 7 days.

The artifact dead-end

Nuxt's deploy docs lead with server platforms because the framework can do SSR — but a fully prerendered site needs none of that. .output/public/ is plain files.

Wiring a repo to a hosting platform to preview one content branch is overhead that outlives the branch.

Two lines to a live link

Build your output like you already do, then hand the folder to the action:

Generate the static site

npx nuxi generate

.github/workflows/ci.yml

- uses: bitgate/ship-page-action@v1
  if: always()
  with:
    path: .output/public/

Or with plain curl — no account needed

cd .output/public && zip -qr - . | curl -fsS -X POST https://ship.page/deploy \
  -H "Content-Type: application/zip" \
  --data-binary @- | jq -r .url

path: .output/public/ deploys exactly what the tool wrote — no detection to configure. The link goes in the job summary — add comment: true and it lands on the pull request too.

What you get

  • .output/public/ deploys untouched — prerendered HTML, _nuxt assets and payload files resolve at the drop root
  • One curl for local shares; path: .output/public/ in CI, with comment: true for the PR link
  • Named drops give main a permanent URL that redeploys in place on every merge

Questions

nuxi generate or nuxi build?

generate prerenders every route to static HTML. build with prerendered routes also lands in .output/public/ — either way, that folder is what you deploy.

Does payload fetching work?

Yes — useAsyncData payloads are baked into .output/public/ as _payload.json files at generate time and served like any other file.

What about hybrid or server routes?

Routes that aren't prerendered need a server runtime. This recipe covers fully static sites — the ones where .output/public/ is the whole story.

Try it on your next run

Anonymous deploys need no account and no key — paste the step, get a link. When you want stable URLs that redeploy in place, an API key and a name are all it takes.

Need to share the report with someone outside GitHub? How to share a GitHub Actions artifact without a login.