Hacker News new | ask | show | jobs
Show HN: Writ.ly – Easy online Markdown editor (writ.ly)
17 points by junhsss 832 days ago
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

I've also modularized the editor (https://github.com/writly/writly) as a React Component. Feel free to give it a try!

4 comments

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.

Brilliant, thanks - I'll check it out
This looks a lot like Stashpad Docs that came out today, too!

https://docs.stashpad.com/

Impressive. It tackles a similar problem to what I'm addressing. Thanks for sharing!
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.

Glad you like it. I'll update the readme to include state management examples. Thanks for the feedback!
This is a fun and lightweight tool. I could see it replacing hackmd for me just because of how much simpler and more lightweight it is.
Thanks! Simplicity is the essence here.