/slate-yjs

Yjs binding for Slate

Primary LanguageTypeScriptMIT LicenseMIT


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 · Products · Questions · Contributing!



Sponsors 💖

I'm currently looking for sponsors to found further development of slate-yjs. These awesome sponsors already fund the development:


Sana Labs


Hosting provided by:



Why Yjs?

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.



Live demo

https://slate-yjs.dev



Documentation

https://docs.slate-yjs.dev



Packages

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:

Package Version Size Description Changelog
@slate-yjs/core Core slate-yjs binding. CHANGELOG.md
@slate-yjs/react React specific components/utils for slate-yjs. CHANGELOG.md


Products

These products use slate-yjs, and can give you an idea of what's possible:



Questions?

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



Contributing!

All contributions are super welcome! Check out the contributing instructions for more info!

Slate-yjs is MIT-licensed.