Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Notion-like WYSIWYG editor template for Vue & Nuxt with AI completions, markdown support, and optional real-time collaboration.
Nuxt Editor Template is a starter template for a Notion-like WYSIWYG editor built with Vue 3, Nuxt, Nuxt UI, and TipTap, offering AI-powered writing assistance and optional real-time collaboration via PartyKit.
This is a starter template that scaffolds a full-featured document editor into a Nuxt application. It uses the Nuxt UI Editor component, which wraps the TipTap editor, and sets the content type to markdown for easy serialization to and from the editor. The template is created by the Nuxt UI team and is available on GitHub under the nuxt-ui-templates organization.
?room= to the URL edits the document together with others in real time.The template wires the TipTap editor through Nuxt UI's Editor component, storing content as markdown. AI features rely on the Vercel AI SDK's useCompletion composable to stream text from the AI Gateway. Collaboration uses Y.js as the CRDT layer and PartyKit as the sync provider, activated only when the NUXT_PUBLIC_PARTYKIT_HOST environment variable is present and a ?room= parameter is supplied.
Run npm create nuxt@latest -- -t ui/editor to scaffold a new Nuxt application pre-configured with the editor template. Then install dependencies with pnpm install and start the dev server with pnpm dev.
Yes, collaboration is an optional integration. You need to create and deploy a PartyKit server, set the NUXT_PUBLIC_PARTYKIT_HOST environment variable, and append ?room=your-room-name to the URL. Without these, the editor runs standalone.
Set AI_GATEWAY_API_KEY in your .env file. The template uses Vercel AI Gateway, so you don't need individual API keys for different providers. When deployed to Vercel, the gateway is configured automatically.
Image upload uses NuxtHub Blob, which defaults to local filesystem storage in development (in the .data/blob folder). For production, you can connect Vercel Blob, Cloudflare R2, or Amazon S3 by following the NuxtHub Blob documentation.
Yes, both features are optional. The editor works out of the box with just the core rich-text functions. You only need to add environment variables or dependencies if you want the AI and collaboration extras.
