Using the TableKit extension with Pages
To add tables to your paginated editor, you should use the TableKit extension from the @tiptap-pro/extension-pages-tablekit package. This ensures full compatibility with pagination as in order to properly split tables across the pages we needed to heavily modify the behavior and layout of tables.
1. Install the Pages stack
Tables, ConvertKit (the editor's schema), and Pages itself ship as separate packages. Install all three:
npm install @tiptap-pro/extension-convert-kit \
@tiptap-pro/extension-pages-tablekit \
@tiptap-pro/extension-pages2. Add ConvertKit, TableKit, and Pages to your editor
import { Editor } from '@tiptap/core'
import { ConvertKit } from '@tiptap-pro/extension-convert-kit'
import { TableKit } from '@tiptap-pro/extension-pages-tablekit'
import { Pages } from '@tiptap-pro/extension-pages'
const editor = new Editor({
extensions: [
ConvertKit.configure({ table: false }),
TableKit,
Pages.configure({
/* ... */
}),
],
})Why ConvertKit's tables are disabled
ConvertKit ships its own table stack (DOCX-aware, but not pagination-safe). PagesTableKit's
TableKit is the pagination-safe replacement and accepts the same DOCX cell attributes that
ConvertKit's tables would. Disable one, register the other.
Best practice
Always use the TableKit extension from @tiptap-pro/extension-pages-tablekit when
working with Pages. Do not use the open-source @tiptap/extension-table or ConvertKit's built-in
tables — neither is compatible with the layout the Pages extension produces.
3. Table features
- The exposed TableKit extension works and behaves exactly like the open-source one and can also be extended to make it fit your needs.
- Tables will paginate correctly and export to DOCX with your document
Extending the Page's TableKit extension
Be careful when extending the TableKit extension from
@tiptap-pro/extension-pages-tablekit as its layout is heavily modified and you can
potentially break the table splitting logic.
4. Next steps
- Explore Pages options for more layout control
- See the PageKit guide for an even easier setup