I'm working on an application which requires user-entered content, and I've decided to use a Stack Overflow-style Markdown editor. After researching this topic for the last few days, I realize there are numerous forks of the base WMD editor, some with a few basic enhancements and some with serious differences from the Stack Overflow one.
Since this will be the heart of the application, I'd like to start with the best code base I can. I'd be happy if anyone can recommend which one of the many solutions out there best fits my needs.
Below are requirements, plus what I've managed to find already. I'm hoping this question will help me decide which version to go with, and maybe help me discover a port that's an even better fit for my needs.
img
URL).Here are a few of the code bases I've looked at, with thoughts. Obviously, I might be missing another solution out there.
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.
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.
There are a few differences from the Stack Overflow editor:
<br/>
, instead of being considered one paragraph. I happen to prefer it this way, so I'm fine with this change.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.
Well, this question (and solutions) are getting pretty old, so I thought maybe I'd put something up to date here. :)
It's the beginning of 2014, and when I reached the same problem I eventually used PageDown-Bootstrap. It's a Twitter Bootstrap-based WMD editor, with fully customizable Style Bar (Button Bar).
There's also an alternative called Bootstrap-Markdown, which also looks very promising.
For the live preview part, the Showdown library is pretty easy to work with (and as Edan points out, is included in the codebase)
You use it something like this (don't need to use jQuery if you don't want to)
$(document).ready(function(){
var converter = new Attacklab.showdown.converter();
function update_description_preview(){
$('#description-preview').html(converter.makeHtml($("#id_description").val()));
}
update_description_preview();
$("#id_description").keyup(function(){
update_description_preview();
});
});
The update_description_preview function uses the converter object to read the markdown in the #id_description element, and dumps it into the #description-preview element.
Here I am calling the function right after it is defined to initialize the preview windows (there was some text pre-loaded in the editor)
Last bit is just registering the function with the keyup event.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With