{"id":13559029,"url":"https://github.com/BitPhinix/slate-yjs","last_synced_at":"2025-04-03T14:31:11.775Z","repository":{"id":38251419,"uuid":"286268747","full_name":"BitPhinix/slate-yjs","owner":"BitPhinix","description":"Yjs binding for Slate","archived":false,"fork":false,"pushed_at":"2024-06-20T06:36:31.000Z","size":201576,"stargazers_count":533,"open_issues_count":27,"forks_count":73,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-01T19:51:31.280Z","etag":null,"topics":["collaborative-editing","slate","slate-editor","slate-plugin","slate-react","slate-yjs","slatejs","yjs","yjs-bindings"],"latest_commit_sha":null,"homepage":"https://docs.slate-yjs.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/BitPhinix.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing/contributing.md","funding":".github/FUNDING.yml","license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":"support/fixtures.ts","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"open_collective":"y-collective/projects/slate-yjs"}},"created_at":"2020-08-09T15:56:04.000Z","updated_at":"2025-03-23T02:29:56.000Z","dependencies_parsed_at":"2024-06-18T13:57:24.913Z","dependency_job_id":"067921bb-e4c0-420c-8c89-d6daec0cb63f","html_url":"https://github.com/BitPhinix/slate-yjs","commit_stats":{"total_commits":325,"total_committers":24,"mean_commits":"13.541666666666666","dds":0.64,"last_synced_commit":"69f3e0eaecc0b81049dc57e70403df60e7a10163"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BitPhinix%2Fslate-yjs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BitPhinix%2Fslate-yjs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BitPhinix%2Fslate-yjs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BitPhinix%2Fslate-yjs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BitPhinix","download_url":"https://codeload.github.com/BitPhinix/slate-yjs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247018347,"owners_count":20869998,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["collaborative-editing","slate","slate-editor","slate-plugin","slate-react","slate-yjs","slatejs","yjs","yjs-bindings"],"created_at":"2024-08-01T12:05:18.094Z","updated_at":"2025-04-03T14:31:08.454Z","avatar_url":"https://github.com/BitPhinix.png","language":"TypeScript","funding_links":["https://opencollective.com/y-collective/projects/slate-yjs"],"categories":["TypeScript","others","OT协同"],"sub_categories":["运行器e2e测试"],"readme":"\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\u003cimg width=\"600\" src=\"./docs/images/banner.svg\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\nSlate-yjs aims to be the goto collaboration solution for slate. Get started in seconds, scale to infinity, customize to your hearts content.\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#\"\u003e\u003cimg src=\"./docs/images/demo.gif\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"#sponsors-\"\u003e\u003cstrong\u003eSponsors\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#why-yjs\"\u003e\u003cstrong\u003eWhy Yjs?\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://slate-yjs.dev\"\u003e\u003cstrong\u003eLive demo\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"https://docs.slate-yjs.dev\"\u003e\u003cstrong\u003eDocumentation\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#packages\"\u003e\u003cstrong\u003ePackages\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#products\"\u003e\u003cstrong\u003eProducts\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#questions\"\u003e\u003cstrong\u003eQuestions\u003c/strong\u003e\u003c/a\u003e ·\n  \u003ca href=\"#contributing\"\u003e\u003cstrong\u003eContributing!\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://github.com/BitPhinix/slate-yjs/graphs/commit-activity\" alt=\"Maintenance\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Maintained%3F-yes-brightgreen.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"http://commitizen.github.io/cz-cli/\" alt=\"Commitizen friendly\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/commitizen-friendly-brightgreen.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/slate-yjs\" alt=\"Downloads\"\u003e\n        \u003cimg src=\"https://img.shields.io/npm/dt/slate-yjs.svg\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/slate-yjs\" alt=\"NPM\"\u003e\n        \u003cimg src=\"https://img.shields.io/npm/v/slate-yjs\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/BitPhinix/slate-yjs/actions\" alt=\"Tests\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/workflow/status/bitphinix/slate-yjs/test\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/BitPhinix/slate-yjs/actions?query=workflow%3Arelease\" alt=\"Semantic Release\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg\" /\u003e\u003c/a\u003e\n\n\u003cbr/\u003e\n\n## Sponsors 💖\n\nI'm currently looking for sponsors to found further development of slate-yjs. These awesome sponsors already fund the development:\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\n      \u003ca href=\"https://www.sanalabs.com/\"\u003e\n        \u003cimg src=\"https://github.com/sanalabs.png?size=100\" width=\"100\"\u003e\u003cbr\u003e\n        \u003cstrong\u003eSana Labs\u003c/strong\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003ca href=\"https://opencollective.com/y-collective/projects/slate-yjs\" alt=\"Sponsor\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Open%20Collective-Become%20a%20sponsor-brightgreen\" /\u003e\u003c/a\u003e\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\nHosting provided by:\n\n\u003cp\u003e\n  \u003ca href=\"https://www.digitalocean.com/?utm_medium=opensource\u0026utm_source=slate-yjs\"\u003e\n    \u003cimg src=\"https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg\" width=\"201px\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Why Yjs?\n\nYjs 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](https://www.hocuspocus.dev/), enabling you to build robust and highly scalable collaborative/offline-first applications.\n\nFor more detailed benchmarks about performance, you can take a look [here](https://github.com/dmonad/crdt-benchmarks).\n\nWhy 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.\n\nYou can read more about this [here](https://josephg.com/blog/crdts-are-the-future/).\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Live demo\n\nhttps://slate-yjs.dev\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Documentation\n\nhttps://docs.slate-yjs.dev\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Packages\n\nSlate-yjs's codebase is monorepo managed with [yarn workspaces](https://yarnpkg.com/features/workspaces). It consists of a handful of packages—although you won't always use all of them:\n\n| **Package**                            |                                                                                                          **Version** |                                                                                                                                                       **Size** | **Description**                                | **Changelog**                                                                                |\n| :------------------------------------- | -------------------------------------------------------------------------------------------------------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| [`@slate-yjs/core`](./packages/core)   |   [![](https://img.shields.io/npm/v/@slate-yjs/core?maxAge=3600\u0026label=\u0026colorB=007ec6)](./packages/core/package.json) |   [![](http://img.badgesize.io/https://unpkg.com/@slate-yjs/core/dist/index.cjs?compression=gzip\u0026label=%20)](https://unpkg.com/@slate-yjs/core/dist/index.cjs) | Core slate-yjs binding.                        | [CHANGELOG.md](https://github.com/BitPhinix/slate-yjs/blob/main/packages/core/CHANGELOG.md)  |\n| [`@slate-yjs/react`](./packages/react) | [![](https://img.shields.io/npm/v/@slate-yjs/react?maxAge=3600\u0026label=\u0026colorB=007ec6)](./packages/react/package.json) | [![](http://img.badgesize.io/https://unpkg.com/@slate-yjs/react/dist/index.cjs?compression=gzip\u0026label=%20)](https://unpkg.com/@slate-yjs/react/dist/index.cjs) | React specific components/utils for slate-yjs. | [CHANGELOG.md](https://github.com/BitPhinix/slate-yjs/blob/main/packages/react/CHANGELOG.md) |\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n# Products\n\nThese products use slate-yjs, and can give you an idea of what's possible:\n\n- [Dropdeck](https://dropdeck.com/)\n- [Hugo](https://hugo.team/)\n- [Living Spec](https://www.livingspec.com/)\n- [Saga](https://saga.so/)\n- [Sana](https://www.sanalabs.com/)\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Questions?\n\nFor questions around yjs, head over to the [Yjs Community](https://discuss.yjs.dev/). Trying to build a backend with [hocuspocus](https://www.hocuspocus.dev/) and have questions? Take a look at the #hocuspocus channel in the [TipTap Discord](https://discord.com/invite/WtJ49jGshW). Having issues with slate? There's a there's a [Slack](https://slate-slack.herokuapp.com/) for that as well.\n\nAny questions about slate-yjs? Thead over to the #slate-yjs channel inside the [Slate Slack](https://slate-slack.herokuapp.com/) or post something in the [Discussions](https://github.com/BitPhinix/slate-yjs/discussions)\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Contributing!\n\nAll contributions are super welcome! Check out the [contributing instructions](https://docs.slate-yjs.dev/contributing/contributing) for more info!\n\nSlate-yjs is [MIT-licensed](https://github.com/Bitphinix/slate-yjs/blob/main/LICENSE.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBitPhinix%2Fslate-yjs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FBitPhinix%2Fslate-yjs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FBitPhinix%2Fslate-yjs/lists"}