If you're looking for a Rich Text Editor, this is the only one I will recommend. I wrote a proprietary RTE last year and continue to maintain it because nothing available both worked and produced clean markup. Redactor came out this spring and is the only generally available RTE that does this. If you insist on OSS, WYSIHTML5 is the best available.<p>For those that care, Redactor uses the designMode technique, leans on the browser for most operations and keeps the markup clean via regexp cleanup. This is the cleanest solution for the most common use case of html email/html item entry. The other two techniques are full emulation and contenteditable.<p>Google uses full emulation in their products. You type into a hidden text field and the display/selection/cursor is entirely script rendered. This is especially good for things like docs where they need to emulate word's behavior. Downside is that doing it is a lot of code and it's easy to miss OS specific keybinds (e.g. CMD+left/right in OS X don't work in gmail).<p>Using contenteditable would be the preferred technique but it's buggy as hell. Of the editors I know about only Aloha and my editor take this approach. The amount of code is relatively small (mine is around 2k sloc) but it's all really ugly code that reminds me of the bad old days in 2002-2004 when I had my own DOM abstraction lib.
Looks super slick, but worth noting there are open source alternatives. For example:<p><a href="http://jhollingworth.github.com/bootstrap-wysihtml5/" rel="nofollow">http://jhollingworth.github.com/bootstrap-wysihtml5/</a><p>This a bootstrap wrapper around the wysihtml5 project:<p><a href="https://github.com/xing/wysihtml5" rel="nofollow">https://github.com/xing/wysihtml5</a>
Very cool. Also worth noting these guys have a CSS framework (who doesn't these days?) that looks similarly clean and elegant, though I didn't dig into it enough to make a truly informed call. But still, worth noting...<p><a href="http://imperavi.com/kube/" rel="nofollow">http://imperavi.com/kube/</a>
I notice that still a lot of editors use inline css for their image-styling (I assume, since the editor should correctly preview the way images are lined up). But this obviously creates problems when you decide to style such images a bit differently (adding some padding, whatever) without modifying tons of generated content. A centralized css declaration would make this much easier.<p>Wouldn't there be a possibility to put these styles in an external stylesheet? As the editor itself makes use of external css for it's own styling, adding a new stylesheet for the elements it creates would not be very difficult, right?<p>I'm sure this is conscious practice that is done with a purpose in mind. I'm only unaware of its explanation.<p>Also: I noticed that Redactor uses italic-tags (<i>) to style text as italic. Isn't this bad practice in terms of semantics?
Then there is also my Hallo Editor, which is open source and uses contentEditable <a href="http://hallojs.org/" rel="nofollow">http://hallojs.org/</a><p>If you're using Create.js for making your stuff editable, it has editor abstraction that can drive Aloha, Hallo, and Redactor based on your configuration
TinyMCE, CKEditor, CuteEditor, etc. There are over 60 public popular WYSIWYG web editors, about half of them are mature and free. Why would someone want to move to this, when it is fairly new and also not free?
We're a happy paying customer of Redactor. Can't tell you how much we love it. It's literary the PERFECT WYSIWYG editor. Highly recommend you try it if you're looking for a fast & beautiful editor.
Version 7.6 is on Github under CC-non-Commercial: <a href="https://github.com/dybskiy/redactor-js" rel="nofollow">https://github.com/dybskiy/redactor-js</a><p>Even version 8.03 (august 20120)seems to be free (<a href="http://imperavi.com/webdownload/redactor/getold/" rel="nofollow">http://imperavi.com/webdownload/redactor/getold/</a>), the new licenses got apparently introduced in 8.1.0, which adds a plugin system and some other stuff (<a href="http://imperavi.com/redactor/log/" rel="nofollow">http://imperavi.com/redactor/log/</a>)
I love Redactor. I use it for an internal project and its easily the best compared to TinyMCE and others. Its clean, produces clean markup (you don't get random empty HTML tags like <strong></strong>..text) with no inline-styles.<p>I wrote a Python library to take its output and shove it in a word document: <a href="http://pypi.python.org/pypi/HtmlToWord/" rel="nofollow">http://pypi.python.org/pypi/HtmlToWord/</a>
Looks very nice.<p>A few things I can't seem to see how to do (that I can do with TinyMCE):<p>1. Define some CSS classes that I want to be available to the user (I'd never give colour and font controls to my users unless I wanted my lovely site design to end up full of bright-pink 42pt comic-sans)<p>2. Supply a list of already-uploaded images<p>3. Supply a list of internal links to the 'add link' dialog<p>4. Resize handles for images (or even better - some preset sizes) - I process WIDTH and HEIGHT server side and replace the image with one resized on the server.<p>5. Allow a couple of CSS classes for images (although I had to hack MCE to allow this)
"unbelievably beautiful" - come on, it looks nice but it's just a wysiwyg editor - noone is going to moved to tears.<p>This apple initiated hyperbole should stop, it's pretty wanky and just devalues words.<p>Quiet understatement would be better; mention that it's well designed and easy to use instead.
I would probably move HTML button to the far right of the menu and maybe get rid of strikethrough. Also, the P, H1, etc dropdown menu icon didn't immediately make sense to me. But those are all minor gripes -- this is really, really nice work. Congrats.
The Amazon S3 support seems to suggest that the authors believe it is acceptable to store your AWS key ID and "secret" key in your client-side JavaScript code. Am I missing something here?
The first thing I tried to do (in current Firefox) failed: select text over two paragraphs, change text colour. The selection then changes. Not a great start.