markdownify
markdownify copied to clipboard
The simplest markdown editor with built in cloudinary image upload.
Markdownify
The simplest markdown editor with built in cloudinary image upload.
Based on CodeMirror for the editor and Marked for the preview.
Demo:
tibastral.github.io/markdownify
Usage:
Lets say you have a textarea you want to markdownify.
Install with bower:
bower install jquery.markdownify
<textarea class='markdown' id="markdown"></textarea>
$('.markdown').markdownify();
You can then add buttons for convenience of your users. You need to encapsulate your links (or buttons) in a item with the 'markdownify-menu' class. The data-target attribute is the id of the textarea you want to control.
<div class='markdownify-menu' data-target='markdown'>
<a class='btn--insert' data-prefix='*' data-suffix='*' href='javascript:void(0)'>i</a>
<a class='btn--insert' data-prefix='**' data-suffix='**' href='javascript:void(0)'>b</a>
<a class='btn--insert' data-prefix='# ' href='javascript:void(0)'>h1</a>
<a class='btn--insert' data-prefix='## ' href='javascript:void(0)'>h2</a>
<a class='btn--insert' data-prefix='> ' href='javascript:void(0)'>quote</a>
<a class='btn--insert' data-prefix='* ' href='javascript:void(0)'>list</a>
<a class='btn--insert' data-prefix='1. ' href='javascript:void(0)'>1.</a>
<a class='btn--insert' data-type='link' href='javascript:void(0)'>link</a>
</div>
To upload an image directly to cloudinary, you can add add a param to markdownify :
$('.markdown').markdownify(
cloudinary: {
// create an account on cloudinary and put here your cloud name
cloudName: 'YOUR_CLOUD_NAME',
// get your unsigned uploading key
// http://cloudinary.com/blog/direct_upload_made_easy_from_browser_or_mobile_app_to_the_cloud)
unsignedUploadingKey: 'YOUR_UNSIGNED_UPLOADING_KEY'
}
);
Options
If you want the preview toggle, add this after your markdown editor HTML:
<div class='markdown-preview'></div>
<a class='btn--preview' href='javascript:void(0)' data-target='markdown'>preview</a>
If you want the edit/preview button text to be different, modify the following:
Change Edit button text: Add the following attribute to the preview button:
data-toggle-text='edit-non-default-text'
Change Preview button text: Modify the default text that's within the tag:
<a class='btn--preview' href='javascript:void(0)' data-target='markdown'>edit me here</a>
The code is extracted from mipise.com and extensively used in jobboardmaker.com