The link describing the infra[2] is an example of how it looks.
[1] github.com/outline/outline [2] https://docs.getoutline.com/s/hosting/doc/requirements-ULdYn...
71–80 of 140 posts
The link describing the infra[2] is an example of how it looks.
[1] github.com/outline/outline [2] https://docs.getoutline.com/s/hosting/doc/requirements-ULdYn...
At the risk of sabotaging stuff I've worked on, it's _astoundingly easy_ to glue together Y.js, prosemirror, and a little bit of express.js to get a distributed Notion clone with conflict free resolution. Like I have something that I got working in 3 days with multiple pages, so links between things, and cursor syncing (most of this work is provided by wonderful people with full-featured libraries!). There's some tri…
fyi, from my experience it’s still quite a lot of work to build on top of Prosemirror and TipTap directly to do so. So I’ve started working on https://www.blocknotejs.org to make this even easier for developers; its a batteries-included library with Notion style UI elements out of the box. Definitely bullish on this ecosystem including Yjs and local first dev!
Earlier quoted context omitted.
fyi, from my experience it’s still quite a lot of work to build on top of Prosemirror and TipTap directly to do so. So I’ve started working on https://www.blocknotejs.org to make this even easier for developers; its a batteries-included library with Notion style UI elements out of the box. Definitely bullish on this ecosystem including Yjs and local first dev!
I built on the same stack and have a similar opinion. It’s only easy if you’re depending on the webrtc implementation. If you’re coordinating changes across your own server, you gotta put in some work.
But my requirements are pretty loose
The italics are mine. Pretty good.
For a text editor like this a base LLM would be more appropriate, one that does just autocomplete, without being instruction tuned. Unfortunately these base models are either unavailable (GPT-4), outdated (GPT-3/davinci) or otherwise restricted (GPT-3.5 aka code-davinci-002 is only available via Microsoft Azure and more expensive than the instruction tuned GPT-3.5-turbo model).
At the risk of sabotaging stuff I've worked on, it's _astoundingly easy_ to glue together Y.js, prosemirror, and a little bit of express.js to get a distributed Notion clone with conflict free resolution. Like I have something that I got working in 3 days with multiple pages, so links between things, and cursor syncing (most of this work is provided by wonderful people with full-featured libraries!). There's some tri…
> Novel is not just your average WYSIWYG editor; it takes things to a whole new level with its AI-powered autocompletions. With the seamless integration of Tiptap, OpenAI, and the Vercel AI SDK, it can fuck up your prose in ways you never thought possible. Imagine effortlessly composing sentences that flow with elegance and precision, as if written by a seasoned wordsmith. Novel's AI-powered autocompletions analyze y…
Thanks for playing around with Novel!
Tangent: On the note of web based text field for "normal users", what's the best UX you can get while also trying to be as no-JS-friendly as possible? Are there CSS-only tricks to make editing in an input field nice? I'm making a low-JS site, but it also has a lot of input fields, user content generation, etc. In "modern CSS" i feel like Input boxes should be better than they are. Is JS the only way?
I feel like if you’re targeting a no-JS crowd, that’s a very specific crowd, i.e. this one.
Tangent: On the note of web based text field for "normal users", what's the best UX you can get while also trying to be as no-JS-friendly as possible? Are there CSS-only tricks to make editing in an input field nice? I'm making a low-JS site, but it also has a lot of input fields, user content generation, etc. In "modern CSS" i feel like Input boxes should be better than they are. Is JS the only way?
Rich text editing is probably not possible or not worth it. However, most people who disable JS are probably fine with not using rich text and definitely shouldn’t expect it. Just add a CSS stylesheet which turns into something half-decent, put a note that markdown is supported, and make a plain text editor.
If you're not going with prosemirror or similar off-the-shelf component, then this is the only way to not annoy your users. Augment it with a side-b-y-side RO view of the rendered markdown.
I mean, even the linked page is a confusing UI: you enter `**` for a bold sentence, and then when you arrow-left to the beginning of the sentence you cannot delete just the `*` you typed in.[1]
[1] I feel a better way to do this would be to not allow markdown to actually be typed in, so that the user never sees it. This sidesteps the confusion when trying to remove just the markdown. Let the user use shortcut keys and/or buttons on selections, because to remove a formatting rule they simply repeat what they did to create that rule.