Slate-yjs aims to be the goto collaboration solution for slate. Get started in seconds, scale to infinity, customize to your hearts content.
Sponsors · Why Yjs? · Live demo · Documentation · Packages · Questions · Contributing!
⚠️ This is the active development branch for the new version of slate-yjs. Don't use any code in here in production. Things will break and the api will change.⚠️
I'm currently looking for sponsors to found further development of slate-yjs. These awesome sponsors already fund the development:
Sana Labs |
Yjs offers a feature-rich rich text CRDT with best-in-class performance. It's used in production by multiple fortune 500 companies and is the core of many collaborative editing applications. Moreover, it offers a very mature ecosystem with server-side solutions like hocuspocus, enabling you to build robust and highly scalable collaborative/offline-first applications.
For more detailed benchmarks about performance, you can take a look here.
Why a CDRT over OT? While many current collaborative text editing applications rely on OT (e.g., google docs with ShareJS), it only provides a subset of the functionally CRDTs offer due to the dependence on a central server. In other words: CRDTS can do everything OT can, but OT simply can't.
You can read more about this here.
https://www.hocuspocus.dev/examples/slate/
Coming soon. In the meantime take a look a the examples folder or dig into the source code yourself.
Slate-yjs's codebase is monorepo managed with yarn workspaces. It consists of a handful of packages—although you won't always use all of them. They are:
Package | Version | Size | Description |
---|---|---|---|
@slate-yjs/core |
Core slate-yjs binding. | ||
@slate-yjs/react |
React specific components/utils for slate-yjs. |
For questions around yjs, head over to the Yjs Community. Trying to build a backend with hocuspocus and have questions? Take a look at the #hocuspocus channel in the TipTap Discord. Having issues with slate? There's a there's a Slack for that as well.
Any questions about slate-yjs? Thead over to the #slate-yjs channel inside the Slate Slack or post something in the Discussions
All contributions are super welcome! Check out the Contributing instructions for more info!
Slate-yjs is MIT-licensed.