Reference

Every extension

All 81 of them live in @matrajs/core and carry 137 commands between them. Each has its own page below, and they are in the sidebar too.

Installing only what you want

There is no @matrajs/table to install · you already have the table, and you turn it on by importing it. That is the difference from an editor where every extension is its own package.

npm install @matrajs/core

Then pass only the extensions you want. A table and nothing else:

import { createEditor, document, paragraph, text, tableKit } from '@matrajs/core'

const editor = createEditor({
  extensions: [document, paragraph, text, ...tableKit],
  element: document.querySelector('#editor'),
})

document, paragraph and text are the floor. Every document is a document holding blocks, and a table cell holds blocks, so a table without them has nothing legal to contain.

The array is the whole feature list, and it is also the bundle. Extensions you do not import are not in the build · that is ordinary tree-shaking, not a plugin system, which is why the gzipped figures add rather than multiply.

Kits

A kit is an array of definitions, spread with .... Nothing more · there is no configuration object and no ordering rule.

Nodes 36

Blocks and inline elements the document is made of.

Marks 12

Formatting applied across a range of text.

Behaviour 33

No node or mark of their own · they add commands, keys or decorations.

Generated from @matrajs/core by node scripts/extension-api.mjs. The whole reference as one document, for tools that would rather fetch once, is at llms-full.txt.

Edit this page on GitHub