The package ships 21 editable block plugins. Import a single plugin from @shelamkoff/rector/plugins/<path>, the complete synchronous preset from @shelamkoff/rector/plugins, or a document-driven subset from @shelamkoff/rector/plugins/async.
| Plugin | Block type | Purpose |
|---|---|---|
| Paragraph | paragraph |
Editable rich-text paragraph with alignment, inline tools, inline widgets, merge, and block conversion support. |
| Heading | heading |
Heading levels 2-6 with alignment, inline formatting, inline widgets, paste handling, and level controls. |
| List | list |
Ordered and unordered rich-text lists with item splitting, merging, block exit, and conversion of selected items. |
| Quote | quote |
Quotation text with an optional caption. |
| Code | code |
Code block with a language selector and optional syntax highlighting. |
| Image | image |
Uploadable image with caption, sizing, border, background, and object-fit controls. |
| Delimiter | delimiter |
A visual section separator with no content payload. |
| Table | table |
Editable table with an optional heading row. |
| Checklist | checklist |
Checklist with independently checked rich-text items. |
| Warning | warning |
Callout block with editable title and message fields. |
| Embed | embed |
YouTube and Vimeo embed block with caption, cover image, and preview metadata. |
| Raw | raw |
Raw HTML authoring block. |
| Gallery | gallery |
Multi-image gallery with layouts, captions, appearance settings, reordering, and viewer options. |
| CarouselBlock | carousel |
Mixed image, video, and sanitized HTML slides with navigation, pagination, thumbnails, autoplay, and ordering controls. |
| Attaches | attaches |
One or more downloadable files with selectable presentation variants. |
| LinkPreview | linkPreview |
Link preview card with seven visual templates and optional application-provided metadata. |
| Toggle | toggle |
Collapsible block with editable title, rich content, and persistent open state. |
| Columns | columns |
Two- or three-column rich-content layouts. |
| Spoiler | spoiler |
User-revealed hidden content with an editable label. |
| Poll | poll |
Single- or multiple-choice poll with local results or an application-provided live data source. |
| Person | person |
One or more profile cards with cropped avatars, biography, role, and social links. |
import { createBlockPluginsAsync } from '@shelamkoff/rector/plugins/async'
const plugins = await createBlockPluginsAsync(documentData, {
image: { uploadFile },
gallery: { uploadFile },
})The async loader deduplicates imports and preserves the first-occurrence order from the supplied type list or document. When no source is supplied, it uses the built-in catalog order. Unknown types reject instead of being silently ignored.
The VitePress extension guide documents the required contract, optional capabilities, command boundaries, text-field mapping, styles, localization, lifecycle, security, and the matching renderer contract.