3 ms·
Going from the README, the main difference is the architecture. It creates a layer of indirection between user actions and the DOM. This has two advantages: *
by mmahemoff 11y ago
Going from the README, the main difference is the architecture.
It creates a layer of indirection between user actions and the DOM. This has two advantages:
* For developers of Trix itself, it eases the pain of cross-browser development - as the README says, contenteditable is inconsistent across browsers.
* For developers using Trix, you get a clean API (Trix.editor) so you can edit the document programmatically without your own cross-browser development.
- room271 11y ago'contenteditable is inconsistent across browsers'. We (the Guardian) created Scribe to tackle this: https://github.com/guardian/scribe https://github.com/guardian/scribe (I can't take any credit personally though alas!)
- sstephenson 11y agoSadly, while the Scribe developers correctly identified all the various problems with contenteditable (https://github.com/guardian/scribe/blob/master/BROWSERINCONSISTENCIES.md https://github.com/guardian/scribe/blob/master/BROWSERINCONS...), they chose to solve it like most other editors: by using execCommand, waiting for the browser to make a change, and then attempting to clean it up afterwards. Trix's thesis is that this approach is fundamentally broken. Instead, Trix updates an internal document model on each input event, then re-renders the editor contents in response.
- twsted 11y agoWe are using Scribe for our product and we are happy with it. It lacks some documentation but it's solid.
- aleem 11y agoI tried Scribe and was quite enthused about it but there are trivial bugs that never got fixed, been a year since I filed this issue[1]: Basically, http://jsfiddle.net/L59kL1rf/ http://jsfiddle.net/L59kL1rf/ -- you cannot delete the first paragraph and always end up with <p><br /></p> and if you try to delete that it just starts acting strange. This issue has been open since 2014 and it seems it's a bug in the core. There were other similar issues I ran into around the same and decided I would revisit later but it's been a nearly a year since. [1]: https://github.com/guardian/scribe/issues/300 https://github.com/guardian/scribe/issues/300