Selecting good editor for content - WYMeditor, BUeditor, TinyMCE

Table of Contents

I've been always having troubles with wysiwyg editors usage, since MS Word on my first computer.
I can't easily explain that, but probably I just can't trust them - as they are always trying to mess my layout, starting from weird problems with lists margins, ending with image align not working properly. You can't easily predict, which block element your WYSIWYG editor will create when you click this or that button in its toolbar.
But, it's stupid to ignore WYSIWYG possibilities. When you edit a big text, you can do your work much faster in WYSIWYG.

So, when we created Pixeljets website, I've tried to find some balance between WYSIWYG power and power of good HTML for page editing.

WYMeditor

(on the base of Wysiwyg module) was a great choice. WYM means "What You Mean" - and that's what it is about. It really cares about semantics of generated html code, and you always see what element it just created. It's great for simple websites where content managers really care about html code beauty. The only problem with this clean&lean editor is that, to my mind, it's not mature enough.
There are some bugs, there are some usability problems (it was hard to realize that pushing "enter" creates new P element, and you need to click shift+enter to stay in the same element. May be it's obvious, but not for me). We used WYMeditor for several months, until I've enabled blog and started writing some PHP code in my blog entries. I couldn't find syntax highlight option for that editor, and adding new plugin by myself was not a good option.

So, I thought "okay, let's switch to mainstream" and installed

TinyMCE

There are lots of child modules for TinyMCE on Drupal.org, and I guess it's the most popular WYSIWYG editor available for Drupal (or at least they are equal with CKeditor in terms of popularity).
I've installed it having exact goal in mind - use PHP syntax highlightning in an easy way. So, I've googled and that's the list of modules I had to enable and configure to enable highlighter:
- wysiwygpreelementfix   - wysiwygsyntaxhl  - syntaxhighlighter

After spending some time struggling with not-so-obvious settings (like "you need to disable linebreaks cleanup in TinyMCE to avoid all your PHP code shown as 1 line" I was done. I was done -- just to realize, that syntax highlightning is still not usable enough. If you create PRE element, you can't go past it (I've tried all the ways! clicking after pre element, pressing shift+enter and ctrl+enter.. if you know how to do that, please tell me), and the highlighted code looks broken sometimes.