I absolutely love tldraw; it's a fascinating tool I use every day. And Bear Editor? Can't imagine my life without it. So, I set out to blend the best of both worlds as a toy project :3
This is great. I've started building a little notes app in Vue and I was wondering how to handle WYSIWYG Markdown editing so I'll definitely be digging in to your code for inspiration. Do you mind giving us a quick overview of how it works technically?
It would be nice if you could change the block type after creating it. For example I don't think there's a way to change an h1 to an h2, or a bulleted list to a numbered list.
The collaborative editing is neat too, are you using a library for that or is it bespoke as well?
Thanks for the kind words! I’ll definitely look into that
Most of the heavy work, including collaborative editing, is done with Facebook’s Lexical library. There’s also a Vue binding for Lexical, so you should try it! (https://github.com/wobsoriano/lexical-vue)
As for the backend, I wrote a server that runs on Cloudflare Workers and Durable Objects. Super impressive products, btw.
Love it, the Editor feels really smooth, even on my phone.
One nit about the readme on the GitHub repo is that it's not immediately obvious how to pass state into/get state out of the component. Would be nice to have an example of that.
It would be nice if you could change the block type after creating it. For example I don't think there's a way to change an h1 to an h2, or a bulleted list to a numbered list.
The collaborative editing is neat too, are you using a library for that or is it bespoke as well?