How prezly/slate works
This monorepo provides Prezly-oriented Slate packages: shared document types and editing primitives, list and table extensions, and a React editor with rich-content extensions. The principal workflow is to create an editor from an initial value and extensions, then use editing behavior and content-specific features to manipulate Slate documents. The graph preserves the distinct packages and major extension families visible in the tree. Evidence is limited to the README and sampled/source-index references; unsampled extension interactions are not asserted.
Main entry points: useCreateEditor.ts Editor Creation · commands Editor Commands · src Slate Types · PlaceholdersManager.ts Placeholders
Components 14
Shared Foundation
- Slate Types
packages/slate-types/src - Editor Commands
packages/slate-commons/src/commands - Editing Plugins
packages/slate-commons/src/plugins
Editor Runtime
- Editor Creation
packages/slate-editor/src/modules/editor/useCreateEditor.ts - Editor Core
packages/slate-editor/src/modules/editor - Editor Components
packages/slate-editor/src/components
Content Extensions
- Mentions
packages/slate-editor/src/extensions/mentions/useMentions.ts - Placeholders
packages/slate-editor/src/extensions/placeholders/PlaceholdersManager.ts - Rich Content
packages/slate-editor/src/extensions
Document Structures
- List Editing
packages/slate-lists/src/ListsEditor.ts - List Queries
packages/slate-lists/src/lib/getListItems.ts - Table Editing
packages/slate-tables/src/TablesEditor.ts - Table Nodes
packages/slate-tables/src/nodes/TableNode.ts
Other components
- Application
Connections 10
- Application → Editor Creation: creates editor
README.md - Editor Creation → Editor Core: configures
packages/slate-editor/src/modules/editor/useCreateEditor.ts - Editor Creation → Slate Types: accepts document
- Editor Creation → Editor Commands: uses primitives
packages/slate-editor/src/modules/editor/useCreateEditor.ts - Mentions → Editor Commands: edits selection
- Placeholders → Rich Content: supports embeds
packages/slate-editor/src/extensions/placeholders/PlaceholdersManager.ts - Placeholders → Slate Types: handles nodes
packages/slate-editor/src/extensions/placeholders/PlaceholdersManager.ts - Editor Commands → Slate Types: inserts paragraph
packages/slate-commons/src/commands/insertEmptyParagraph.ts - List Editing → List Queries: uses queries
packages/slate-lists/src/ListsEditor.ts - Table Editing → Table Nodes: exports node operations
packages/slate-tables/src/TablesEditor.ts