5 ms·
clients should only ever input plain text it's the application that should decide how it's to be displayed in different contexts you're fighting the web if yo
by catchclose8919 4y ago
clients should only ever input plain text
it's the application that should decide how it's to be displayed in different contexts
you're fighting the web if you're trying to do it otherwise, but then again, everybody is nowadays...
- jitl 4y agoMuch of the complexity of contentEditable comes from using the same DOM nodes both as an output device to render a semantic data model, AND as an input device, to interpret input-related events into changes to the semantic data model. If you can separate the two concerns, it would be much easier to eg accept CJK text and keep output looking correct, without breaking input.
- catchclose8919 4y ago100% this - but good luck fixing that, since the people who'd have expected contenteditable to work are the ones that want to unify input and output... so it's an intractable mess you basically want an UI for inputing and validating some schema-enforced JSON, but that's overwhelming and overkill for most users and more apps, so you script into existence a simplified version of that (aking to "everyone who doesn't learn lisp is cursed to reinvent it" or smth like that but for frontend devs).
- asddubs 4y agosure, but even if you want people to just be able to italicize or bold their input and nothing else, you're either stuck with the bludgeon that's contenteditable, or you can have fun reimplementing half of the countless nuances of font rendering on canvas. there really should be some sort of better option.
- catchclose8919 4y ago...or add instructions to "have text between _underscores for italics_ and **double stars for bold** - just adopt a subset of markdown and be done with it - we need to stop catering to humanity's lowest common denominator.
- asddubs 4y agosure but that sucks, especially on mobile. doubly so if you try to do anything mildly more advanced like embed images.
- josephg 4y agoRich text isn't just bold and italics. It also (often) supports tables, embedded images, links, fonts + font sizes and colors. Markdown supports a poor subset of that stuff. And its not just for "humanity's lowest common denominator". I love being able to copy+paste a table into an email and have it show up correctly. Today's convention where I have to screenshot something to show it to you is horrible. Markdown isn't the right tool for every job. Would you use markdown to typeset your resume? To write an academic paper? Lots of popular applications - like Notion or Google Docs - need something more powerful than markdown. And the current javascript APIs are failing them.
- zo1 4y agoAt some point you need more than what markdown gives you. I know, encountered it recently. The formatting equivalent of... "640k ought to be enough for everybody".
- egeozcan 4y agoThe web has HTML and parsing/sanitizing it is a solved problem. I fail to see the need to go back to plain text not to be "fighting the web". The world wide web is a free platform where you can publish plain text or HTML, but denying that it also became an application delivery platform is fighting against the reality. I'm an early-internet kid, and even if we are going back to discover the "spirit of the internet", those times are full of contenteditable hacks and custom applet HTML editors. Being able to edit HTML visually is so common, be it a simple personal homepage, editor to a corporate blog, or a product management tool.