Extensions
The module always registers the StarterKit (all of its nodes, marks, and extensions), the Link mark, and the Image node.
The Code Block Lowlight extension and the lowlight composables (createLowlight, commonLanguages, allLanguages) are only registered when the tiptap.lowlight option is not false. Since the module’s default is lowlight: false, lowlight is opt-in — enable it to get syntax highlighting and keep your bundle smaller when you don’t.
More details
- More about the Link mark
- More about the Code Block Lowlight extension
See the Code Block Lowlight example for how to enable and use it.
For the full list of every name the module auto-imports, see the Auto-imports reference.
Adding your own extensions
Section titled “Adding your own extensions”The module auto-imports only its curated default set plus the custom image-upload extension. Any other Tiptap extension is yours to install and wire up — but you can make it feel just like a built-in by re-exporting it from a file Nuxt auto-imports.
Installing
Section titled “Installing”It’s recommended to install extensions into devDependencies:
pnpm add -D @tiptap/extension-placeholdernpm install --save-dev @tiptap/extension-placeholderyarn add -D @tiptap/extension-placeholderImporting
Section titled “Importing”Whenever you install an external extension that isn’t included by default, the cleanest way to use it everywhere is to re-export it from a composables/ or utils/ file — Nuxt auto-imports those, so the extension becomes available app-wide without manual imports.
For example, create composables/tiptapExt.js:
export { Image as TiptapImage } from '@tiptap/extension-image'export { Youtube as TiptapYoutube } from '@tiptap/extension-youtube'export { Underline as TiptapUnderline } from '@tiptap/extension-underline'export { TextAlign as TiptapTextAlign } from '@tiptap/extension-text-align'export { Placeholder as TiptapPlaceholder } from '@tiptap/extension-placeholder'export { CharacterCount as TiptapCharacterCount } from '@tiptap/extension-character-count'Now every manually installed extension is available app-wide under your chosen name, just like the module’s defaults.