Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

editor-js/document-model

Repository files navigation

Editor.js Logo

@editorjs/document-model

A model-driven, collaboration-ready Editor.js engine split into focused packages.

Packages

Package Description
@editorjs/sdk Shared contracts — interfaces, base event classes, EventBus
@editorjs/model In-memory document model (EditorJSModel, BlockNode, TextNode, caret management)
@editorjs/dom-adapters Binds model nodes to DOM inputs (DOMBlockToolAdapter, CaretAdapter, FormattingAdapter)
@editorjs/collaboration-manager Operational transformation, batching, undo/redo, OT WebSocket client
@editorjs/core Orchestrator — IoC container, plugin/tool lifecycle, EditorAPI
@editorjs/ui Default UI shell (EditorjsUI, BlocksUI, Toolbar, InlineToolbar, Toolbox)
@editorjs/ot-server Standalone WebSocket OT server (OTServer, DocumentManager)
playground Vite dev sandbox for manual testing

Documentation

In-depth architecture, flow, and API docs live in docs/.

Quick links:

Development

# Install all package dependencies
yarn install
# Build all packages
yarn workspaces run build
# Run tests for a specific package (e.g. model)
cd packages/model && yarn test
# Start the playground
cd packages/playground && yarn dev
# Start the OT server (Docker)
docker compose up

Want to contribute?

This project is in active development with many ideas being formed on the fly. If you'd like to contribute — whether it's code, documentation, ideas, or feedback — we'd love to hear from you!

Here are some ways to get involved:

  • Code contributions: Check out Good First Tasks or reach out to discuss larger features
  • Documentation & guides: Help us improve and expand our docs
  • Tool development: Build new tools or adapters for the ecosystem
  • Feedback & ideas: Share your thoughts and suggestions in discussions or on our Telegram Chat
  • Custom requirements: Need something specific? Contact the CodeX team at team@codex.so

See our Contributing guide for more details.

Like Editor.js?

You can support project improvement and development of new features with a donation to our team.

Donate via OpenCollective
Donate via Crypto
Donate via Patreon

Why donate

Donations to open-source products have several advantages for your business:

  • If your business relies on Editor.js, you'll probably want it to be maintained
  • It helps Editor.js to evolve and get the new features
  • We can support contributors and the community around the project. You'll receive well organized docs, guides, etc.
  • We need to pay for our infrastructure and maintain public resources (domain names, homepages, docs, etc). Supporting it guarantees you to access any resources at the time you need them.
  • You can advertise by adding your brand assets and mentions on our public resources

Sponsors

Support us by becoming a sponsor. Your logo will show up here with a link to your website.

Become a Sponsor

Backers

Thank you to all our backers!

Become a Backer

Community

About

❗️WIP❗️

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

Contributors

AltStyle によって変換されたページ (->オリジナル) /