dev
yjs
Our great sponsors
dev | yjs | |
---|---|---|
34 | 53 | |
5,207 | 15,052 | |
4.5% | 4.1% | |
4.7 | 8.4 | |
16 days ago | 6 days ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 or later | 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.
dev
-
Adding a Code Editor to your React App
From the official CodeMirror documentation:
- CodeMirror
-
Eloquent JavaScript 4th edition (2024)
For those that don't know the author, Marijn Haverbeke, is the creator of CodeMirror (code editor) and later ProseMirror (text editor).
https://codemirror.net/
https://prosemirror.net/
-
Show HN: Heynote – A Dedicated Scratchpad for Developers
Performance is mostly handled by CodeMirror (https://codemirror.net/), the underlying editor that Heynote is built upon. It seems to handle quite large buffers well. Where I have seen some minor performance issues is when working with very large blocks in certain language modes.
-
Racket branch of Chez Scheme merging with mainline Chez Scheme
I don’t think the arrows are possible with VScode?
Someone said they might be possible with CodeMirror https://codemirror.net/
(Just in general - not specifically for racket- I’d love to see this for rust and elixir)
-
Our Code Editor is open source
I don't see them on the list of sponsors for the CodeMirror project, but I hope they dedicate some funds for it.
https://codemirror.net/#sponsors
-
JSF 2.0 AJAX: Call a bean method from javascript with jsf.ajax.request (or some other way)
Some background: I am building a custom JSF component. The component is basically a text editor and it should have a "Save" -button for saving the content string of the editor. As I am using the CodeMirror library, I need to fetch the content (string) from the editor with javascript and send that to the server. Therefore, in this case I cannot use XML-based JS invocation such as f:ajax.
-
Kako da u JavaScriptu napravim da se kôd oboji dok ga korisnik ukucava? Uspio sam napraviti da se kôd oboji kad korisnik pritisne tipku, ali nisam uspio napraviti da se boja dok ga korisnik ukucava.
mozes koristiti gotovi code editor library, https://codemirror.net/ https://microsoft.github.io/monaco-editor/
-
Created a simple online JavaScript Playground, it's a place for you to try out your code and ideas.
Thanks u/OutlandishnessKey953, the playground built with React, Docusaurus(https://docusaurus.io/), CodeMirror(https://codemirror.net/), Sucrase(https://sucrase.io/), etc.
- Show HN: I open sourced the QR designer from my failed startup
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?
HyperMD - A WYSIWYG Markdown Editor for browsers. Break the Wall between writing and previewing.
automerge - A JSON-like data structure (a CRDT) that can be modified concurrently by different users, and merged again automatically.
shiki - A beautiful yet powerful syntax highlighter
liveblocks - Liveblocks is a platform to ship collaborative features like comments, notifications, text editors in minutes instead of months.
vite - Next generation frontend tooling. It's fast!
automerge-rs - Rust implementation of automerge [Moved to: https://github.com/automerge/automerge]
starboard-notebook - In-browser literate notebooks
crdt-woot - Implementation of collaborative editing algorithm CRDT WOOT.
vscode-webview-ui-toolkit - A component library for building webview-based extensions in Visual Studio Code.
milkdown - 🍼 Plugin driven WYSIWYG markdown editor framework.
theia - Eclipse Theia is a cloud & desktop IDE framework implemented in TypeScript.
MobX - Simple, scalable state management.