Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

pell.js does nothing for a developer who wants to build an experience like Notion or Google Docs. Pell’s approach is to say “ok browser do whatever you want”. Very hard to make that collaborative, build complex UI within it, or even predict the resulting HTML structure coming out of it. No chance to do custom layout on top of Pell.


As a developer who built my own note app (like an anemic Notion), using pell.js as a backbone, I tend to disagree that it does nothing to help. I'll grant you that it is so lightweight as to not provide much luxury, but I find that far more useful than the 'kitchen sink' approach most libraries take. I don't need anyone to coddle me, I need someone to expose functionality to me in a way that works best for my intentions and architecture. pell.js wraps up inputs and delivers me formatted content. That's all I need it to do in order to take input from multiple users and provide that formatted content to the data store and other users. I was able to customize all the layouts I needed with the actions extensions that the library provides for. The lightweight, event-based functionality made my render stack the only slowdown for nesting new pell.js instances inside layout blocks so that I could use the top level instance to insert an inline image and a new pell.js span, and then that span's instance to format whatever blocks of content I wanted beside the image. I was honestly pretty surprised by how easily the utility just worked.

Not sure what all you are trying to do that template literals and a simple input formatter can't do, but if you elaborate on an example or something maybe I can see where the library's failures are?


> Not sure what all you are trying to do

I work on non-anemic Notion and built the current @-mention menu and overhauled the text editor system to enable cross-block text selection.

The criteria I use to evaluate a rich text editor component are:

- How does collaboration work? Does the framework give me enough for OT or CRDT bindings?

- Does it use a tree-like data structure or do you need to add this later?

- Can you easily build interactions like @-mention menu or tab completion like VS Code?

- Does the editor tolerate concurrent state updates without breaking Input Method Editor composition, ie a remote user comments on text while the current user is inputting a Chinese character?

- Do demos of the above features work on Android? In Chinese?

From reading the Pell source I didn’t see much that would help with my criteria.


You seem a little confused by my initial comment. What you seem to be saying, here, is that pell.js isn't a good rich text editor. What I said was that pell can be used to write a good rich text editor. If I were building a rich text editor, why would I want my input mechanism to build my tree or replicatable data bindings for me? And it's not like pell stands in the way of those things. It's a glorified text type input.

I'm just going to chalk this one up to a misunderstanding and hope you have a good day!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: