In the end, after looking around a bit more for a ready-made editor, I settled on the OpenLibrary WMD port, located at http://github.com/openlibrary/wmd.
The reasons I chose this editor
- Meets most of my requirements.
- Looks like Stack Overflow’s editor. There are a few behavioral differences (see below).
- Is built on top of jQuery (and doesn’t require MooTools, which is a plus over the other serious contender, mooWMD).
I ended up implementing the functionality which shows/hides the editbox myself, which proved pretty easy for the most part. I haven’t extended the editor with any buttons, which I’m sure will require some messing around in its source, but I don’t think it will be too big a deal.
Differences from the Stack Overflow version
There are a few differences from the Stack Overflow editor:
- Single enters at the end of lines cause a
<br/>, instead of being considered one paragraph. I happen to prefer it this way, so I’m fine with this change. - Numbered lists are auto-numbered, ala Microsoft Word. That is, hitting Enter after writing “1. first item” will automatically get you a line that starts with “2. “. This is also a change I really like.
Well, I hope this helps anyone looking for a similar editor. If I end up customizing the editor, I’ll create my own branch (it’s licensed under the MIT license), but right now I’m getting away without tinkering with the source code.