annotate static/js/markitup/sets/markdown/set.js @ 693:ad69236e8501

For issue #52, update many 3rd party Javascript libraries. Updated to jquery 1.10.2, jquery ui 1.10.3. This broke a lot of stuff. - Found a newer version of the jquery cycle all plugin (3.0.3). - Updated JPlayer to 2.4.0. - Updated to MarkItUp 1.1.14. This also required me to add multiline attributes set to true on various buttons in the markdown set. - As per a stackoverflow post, added some code to get multiline titles in a jQuery UI dialog. They removed that functionality but allow you to put it back. Tweaked the MarkItUp preview CSS to show blockquotes in italic. Did not update TinyMCE at this time. I'm not using the JQuery version and this version appears to work ok for now. What I should do is make a repo for MarkItUp and do a vendor branch thing so I don't have to futz around diffing directories to figure out if I'll lose changes when I update.
author Brian Neal <bgneal@gmail.com>
date Wed, 04 Sep 2013 19:55:20 -0500
parents 2e90b63520b8
children 71d17d267e27
rev   line source
bgneal@312 1 // -------------------------------------------------------------------
bgneal@312 2 // markItUp!
bgneal@312 3 // -------------------------------------------------------------------
bgneal@312 4 // Copyright (C) 2008 Jay Salvat
bgneal@312 5 // http://markitup.jaysalvat.com/
bgneal@312 6 // -------------------------------------------------------------------
bgneal@312 7 // MarkDown tags example
bgneal@312 8 // http://en.wikipedia.org/wiki/Markdown
bgneal@312 9 // http://daringfireball.net/projects/markdown/
bgneal@312 10 // -------------------------------------------------------------------
bgneal@312 11 // Feel free to add more tags
bgneal@312 12 // -------------------------------------------------------------------
bgneal@693 13 // Modified by Brian Neal for SurfGuitar101
bgneal@312 14 mySettings = {
bgneal@312 15 previewParserPath: '/comments/markdown/',
bgneal@312 16 previewParserVar: 'data',
bgneal@312 17 previewInWindow: false,
bgneal@312 18 previewAutoRefresh: false,
bgneal@312 19 previewPosition: 'after',
bgneal@312 20 onShiftEnter: {keepDefault:false, openWith:'\n\n'},
bgneal@312 21 markupSet: [
bgneal@312 22 {name:'Bold', key:'B', openWith:'**', closeWith:'**'},
bgneal@312 23 {name:'Italic', key:'I', openWith:'_', closeWith:'_'},
bgneal@360 24 {name:'Strike', key:'S', openWith:'---', closeWith:'---'},
bgneal@312 25 {separator:'---------------' },
bgneal@693 26 {name:'Bulleted List', openWith:'- ', multiline:true},
bgneal@312 27 {name:'Numeric List', openWith:function(markItUp) {
bgneal@312 28 return markItUp.line+'. ';
bgneal@693 29 }, multiline:true},
bgneal@312 30 {separator:'---------------' },
bgneal@312 31 {name:'Picture', key:'P', replaceWith:'![image]([![Url:!:http://]!])'},
bgneal@312 32 {name:'Link', key:'L', openWith:'[', closeWith:']([![Url:!:http://]!])', placeHolder:'Your text to link here...' },
bgneal@693 33 {separator:'---------------'},
bgneal@693 34 {name:'Quotes', openWith:'> ', multiline:true},
bgneal@693 35 {name:'Code Block / Code', openWith:'(!(\t|!|`)!)', closeWith:'(!(`)!)', multiline:true},
bgneal@312 36 {separator:'---------------'},
bgneal@312 37 {name:'Smilies', className:'smilies', dropMenu: [
bgneal@312 38 {name:'Argh', replaceWith:' :argh: ', className:'col1-1' },
bgneal@312 39 {name:'Grin', replaceWith:' :-D ', className:'col1-2' },
bgneal@312 40 {name:'Razz', replaceWith:' :-P ', className:'col1-3' },
bgneal@312 41 {name:'Confused', replaceWith:' o_O ', className:'col1-4' },
bgneal@312 42 {name:'Cool', replaceWith:' 8^) ', className:'col1-5' },
bgneal@312 43 {name:'Cry', replaceWith:' :-( ', className:'col2-1' },
bgneal@312 44 {name:'Dead', replaceWith:' x_x ', className:'col2-2' },
bgneal@312 45 {name:'Embarrassed', replaceWith:' :-# ', className:'col2-3' },
bgneal@312 46 {name:'LOL', replaceWith:' :lol: ', className:'col2-4' },
bgneal@312 47 {name:'Mad', replaceWith:' X-( ', className:'col2-5' },
bgneal@312 48 {name:'No', replaceWith:' :no: ', className:'col3-1' },
bgneal@312 49 {name:'None', replaceWith:' :-| ', className:'col3-2' },
bgneal@312 50 {name:'Shock', replaceWith:' :shock: ', className:'col3-3' },
bgneal@312 51 {name:'Sigh', replaceWith:' :sigh: ', className:'col3-4' },
bgneal@312 52 {name:'Smile', replaceWith:' :-) ', className:'col3-5' },
bgneal@312 53 {name:'Uh-oh', replaceWith:' :uh-oh: ', className:'col4-1' },
bgneal@312 54 {name:'Whatever', replaceWith:' :whatever: ', className:'col4-2' },
bgneal@312 55 {name:'Wink', replaceWith:' ;-) ', className:'col4-3' },
bgneal@312 56 {name:'Yes', replaceWith:' :yes: ', className:'col4-4' },
bgneal@312 57 {name:'Sleep', replaceWith:' :sleep: ', className:'col4-5' }
bgneal@312 58 ]
bgneal@312 59 },
bgneal@312 60 {separator:'---------------'},
bgneal@312 61 {name:'Preview', call:'preview', className:"preview"}
bgneal@312 62 ]
bgneal@312 63 }
bgneal@312 64
bgneal@312 65 // mIu nameSpace to avoid conflict.
bgneal@312 66 miu = {
bgneal@312 67 markdownTitle: function(markItUp, char) {
bgneal@312 68 heading = '';
bgneal@312 69 n = $.trim(markItUp.selection||markItUp.placeHolder).length;
bgneal@312 70 for(i = 0; i < n; i++) {
bgneal@312 71 heading += char;
bgneal@312 72 }
bgneal@312 73 return '\n'+heading;
bgneal@312 74 }
bgneal@312 75 }
bgneal@312 76
bgneal@312 77 $(document).ready(function() {
bgneal@312 78 $('.markItUp').markItUp(mySettings);
bgneal@312 79
bgneal@312 80 $('#smileys_dialog_popup').dialog({autoOpen:false});
bgneal@312 81 var firstTimeSmiley = true;
bgneal@312 82 $('#more_smileys_link').click(function () {
bgneal@312 83 $('#smileys_dialog_popup').dialog('open');
bgneal@312 84 var smileyTarget = $('.smileyTarget')[0];
bgneal@312 85 if (firstTimeSmiley) {
bgneal@312 86 $.ajax({
bgneal@312 87 url: '/smiley/farm/extra/',
bgneal@312 88 type: 'GET',
bgneal@312 89 dataType: 'html',
bgneal@312 90 success: function(data, textStatus) {
bgneal@312 91 var img = $('#smiley_busy');
bgneal@312 92 img.hide();
bgneal@312 93 img.after(data);
bgneal@312 94 $('#smileys_dialog_popup .smiley_farm img').click(function() {
bgneal@312 95 smileyTarget.value += ' ' + this.alt + ' ';
bgneal@312 96 smileyTarget.focus();
bgneal@312 97 });
bgneal@312 98 firstTimeSmiley = false;
bgneal@312 99 },
bgneal@312 100 error: function (xhr, textStatus, ex) {
bgneal@312 101 alert('Oops, an error occurred: ' + xhr.statusText + ' - ' + xhr.responseText);
bgneal@312 102 }
bgneal@312 103 });
bgneal@312 104 }
bgneal@312 105 return false;
bgneal@312 106 });
bgneal@312 107 $('#markdown_help_dialog_popup').dialog({autoOpen: false, width: 720, height: 600});
bgneal@312 108 var firstTimeMdHelp = true;
bgneal@312 109 $('#markdown_help_link').click(function () {
bgneal@312 110 $('#markdown_help_dialog_popup').dialog('open');
bgneal@312 111 if (firstTimeMdHelp) {
bgneal@312 112 $.ajax({
bgneal@312 113 url: '/core/markdown_help/',
bgneal@312 114 type: 'GET',
bgneal@312 115 dataType: 'html',
bgneal@312 116 success: function(data, textStatus) {
bgneal@312 117 var img = $('#markdown_busy');
bgneal@312 118 img.hide();
bgneal@312 119 img.after(data);
bgneal@312 120 firstTimeMdHelp = false;
bgneal@312 121 },
bgneal@312 122 error: function (xhr, textStatus, ex) {
bgneal@312 123 alert('Oops, an error occurred: ' + xhr.statusText + ' - ' + xhr.responseText);
bgneal@312 124 }
bgneal@312 125 });
bgneal@312 126 }
bgneal@312 127 return false;
bgneal@312 128 });
bgneal@312 129 });