remirror
yjs
remirror | yjs | |
---|---|---|
7 | 53 | |
2,612 | 15,225 | |
1.3% | 3.1% | |
7.6 | 8.6 | |
4 days ago | 3 days ago | |
TypeScript | JavaScript | |
MIT License | MIT |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
remirror
-
Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors
We have been using Tiptap in production for more than a year in Notesnook[0]. Glad to see it finally launching here on HN!
We have had quite a long and rough ride in search of a stable rich text editor. We began with Quill.js then migrated to TinyMCE and then finally settled on Prosemirror. Unfortunately, contenteditable is still absolutely horrible on web browsers, especially mobile ones.
Tiptap is a good choice if you are looking for a framework agnostic and thin abstraction over Prosemirror. However, if you are primarily working with React you should go with Remirror[1]. Tiptap's APIs are heavily inspired by Remirror (almost a duplicate in some places). Remirror takes the edge on the maturity and stability of the API and extensions. The sheer number of utilities offered by them to simplify Prosemirror's APIs is astounding.
In the end, though, its Prosemirror that's doing all the heavy lifting. And no matter how many abstractions you put on it, you will have to get really, really close in with Prosemirror's internals. Tiptap or Remirror do not make that any easier or harder aside from the initial bootstrapping.
[0] https://notesnook.com
[1] https://remirror.io
-
Best Text Editor to integrate with React?
I used and enjoyed my time with https://remirror.io/. It is built on prosemirror with better DX.
-
What is the best Rich Text Editor for ReactJS now?
We're using remirror in our product. It's built on top of ProseMirror so it's very flexible to build your own editor.
-
Keep your JavaScript repository clean
One elegant solution I found in remirror repo. There all config files that should stay in the root of the project are actually in the ./support/root/ directory, and they are locally symlinked when setting up the project.
-
Rich Text Editor for React with Typescript? Finding it difficult.
If look for a react wysiwyg editor written in TypeScript Remirror is probably your best bet. It is based on ProseMirror.
- ProseMirror toolkit building a CMS in React
yjs
- Show HN: Collaborate on your YC Application with CRDT-powered forms
-
Making CRDTs 98% More Efficient
One idea is just to use fewer random bits in peerIDs. Yjs (https://docs.yjs.dev/) gets away with just 32 random bits. If you compromise and use 64 random bits, then even a very popular doc with 1 million lifetime peerIDs will have a < 10^-7 lifetime probability of collision.
-
An Interactive Intro to CRDTs
I've seen it come up often in collaborative text editors.
Also see: https://github.com/yjs/yjs
-
JSON Schema Store
You are absolutely right that XML is better for document structures.
My current theory is that Yjs [0] is the new JSON+XML. It gives you both JSON and XML types in one nested structure, all with conflict free merging via incremental updates.
Also, you note the issue with XML and overlapping inline markup. Yjs has an answer for that with its text type, you can apply attributes (for styling or anything else) via arbatary ranges. They can overlap.
Obviously I'm being a little hypabolic suggesting it will replace JSON, the beauty of JSON is is simplicity, but for many systems building on Yjs or similar CRDT based serialisation systems is the future.
https://github.com/yjs/yjs/
-
Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors
Note: https://github.com/yjs/yjs for collaborative "document edition, and user cursors"; has WebRTC, web socket, matrix.org backend
-
Wormholers, what can CCP and wormholers do to improve J-Space?
CCP needs to revamp proto anyway, due to recent exploits... practically, nothing really prevents 'em from using some sort of CRDT's to make the state of the sig view eventually consistent (yjs lib, if we're speaking frontendian).
-
How to use Yjs with Ruby on Rails?
Yjs framework: Because it is a CRDT implementation which provides collaborative editing and offline-first capability.
-
🐑🐑🐑 EweserDB, the user-owned database 🐑🐑🐑
No problem. The database CRUD features are just helpers as an abstraction on top of yjs: https://docs.yjs.dev/. Eweser adds schemas in the form of typescript types to make using it simpler, more structured, and interoperability easier.
- Ask HN: What is new in Algorithms / Data Structures these days?
- How does Google docs send the changes done by other users in real-time?
What are some alternatives?
tiptap - The headless rich text editor framework for web artisans.
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
react-quill - A Quill component for React.
liveblocks - Liveblocks is a platform to ship collaborative features like comments, notifications, text editors in minutes instead of months.
Draft.js - A React framework for building text editors.
automerge-rs - Rust implementation of automerge [Moved to: https://github.com/automerge/automerge]
react-ace - React Ace Component
crdt-woot - Implementation of collaborative editing algorithm CRDT WOOT.
megadraft - Megadraft is a Rich Text editor built on top of Facebook's Draft.JS featuring a nice default base of components and extensibility
milkdown - 🍼 Plugin driven WYSIWYG markdown editor framework.
react-medium-editor - React wrapper for medium-editor
MobX - Simple, scalable state management.