I'm building a heavily-customized editor like roam-research

So I’m a user of roam-research, and being a developer myself, I thought, I can build that.

After about 3 weeks of part-time work, I’ve built a heavily-customized, list-focusing, tags-networked editor using prose-mirror, which is open and self-hosted.

screencast:

v0.optimized

repo: https://github.com/namiwang/fiber-note

demo: https://fiber-note-demo.herokuapp.com/notes/welcome


Till now, in addition to the back-end and realtime socket related work, I’ve

  • written a schema from scratch to only allow specific elements, also gave them additional attrs
  • implemented a plugin to dynamically generate id for every new list_item
  • integrated and modified the mentioning plugin for tags inputting
  • hacked some prose-mirror native commands

There’s still lots of work to do around the editor

  • the keymaps and commands around list lifting/sinking are not ideal
  • removing a list item is buggy
  • interaction between the title and the top-level bullet_list is buggy
  • markdown syntax to support
  • collapsible list item

I’m also writing dev diary posts about the details behind this, I’d love to hear your feedback and questions.

In the course of developing, I’ve got a lot of help from this forum, I’d love to help others and answer questions about the detail. Thanks!

4 Likes

Very neat! Thanks for open-sourcing this.

Hi, good man, but what’s the password?

Ah yes the latest version includes basic authentication. It’s password by default and may be changed by setting ENV['PASSWORD'].

As much as i want to brag about it, I’d like to keep this thread focus on prose-mirror related discussion.