annotate static/js/markitup/sets/markdown/set.js @ 631:f36d1a168be7

For issue 27, disable login dialog button during POST. This seems to prevent multiple logins most of the time. You can still bang on the enter key and sometimes get more through.
author Brian Neal <bgneal@gmail.com>
date Wed, 14 Nov 2012 20:57:05 -0600
parents 2e90b63520b8
children ad69236e8501
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@312 13 mySettings = {
bgneal@312 14 previewParserPath: '/comments/markdown/',
bgneal@312 15 previewParserVar: 'data',
bgneal@312 16 previewInWindow: false,
bgneal@312 17 previewAutoRefresh: false,
bgneal@312 18 previewPosition: 'after',
bgneal@312 19 onShiftEnter: {keepDefault:false, openWith:'\n\n'},
bgneal@312 20 markupSet: [
bgneal@312 21 {name:'Bold', key:'B', openWith:'**', closeWith:'**'},
bgneal@312 22 {name:'Italic', key:'I', openWith:'_', closeWith:'_'},
bgneal@360 23 {name:'Strike', key:'S', openWith:'---', closeWith:'---'},
bgneal@312 24 {separator:'---------------' },
bgneal@312 25 {name:'Bulleted List', openWith:'- ' },
bgneal@312 26 {name:'Numeric List', openWith:function(markItUp) {
bgneal@312 27 return markItUp.line+'. ';
bgneal@312 28 }},
bgneal@312 29 {separator:'---------------' },
bgneal@312 30 {name:'Picture', key:'P', replaceWith:'![image]([![Url:!:http://]!])'},
bgneal@312 31 {name:'Link', key:'L', openWith:'[', closeWith:']([![Url:!:http://]!])', placeHolder:'Your text to link here...' },
bgneal@312 32 {separator:'---------------'},
bgneal@312 33 {name:'Quotes', openWith:'> '},
bgneal@312 34 {name:'Code Block / Code', openWith:'(!(\t|!|`)!)', closeWith:'(!(`)!)'},
bgneal@312 35 {separator:'---------------'},
bgneal@312 36 {name:'Smilies', className:'smilies', dropMenu: [
bgneal@312 37 {name:'Argh', replaceWith:' :argh: ', className:'col1-1' },
bgneal@312 38 {name:'Grin', replaceWith:' :-D ', className:'col1-2' },
bgneal@312 39 {name:'Razz', replaceWith:' :-P ', className:'col1-3' },
bgneal@312 40 {name:'Confused', replaceWith:' o_O ', className:'col1-4' },
bgneal@312 41 {name:'Cool', replaceWith:' 8^) ', className:'col1-5' },
bgneal@312 42 {name:'Cry', replaceWith:' :-( ', className:'col2-1' },
bgneal@312 43 {name:'Dead', replaceWith:' x_x ', className:'col2-2' },
bgneal@312 44 {name:'Embarrassed', replaceWith:' :-# ', className:'col2-3' },
bgneal@312 45 {name:'LOL', replaceWith:' :lol: ', className:'col2-4' },
bgneal@312 46 {name:'Mad', replaceWith:' X-( ', className:'col2-5' },
bgneal@312 47 {name:'No', replaceWith:' :no: ', className:'col3-1' },
bgneal@312 48 {name:'None', replaceWith:' :-| ', className:'col3-2' },
bgneal@312 49 {name:'Shock', replaceWith:' :shock: ', className:'col3-3' },
bgneal@312 50 {name:'Sigh', replaceWith:' :sigh: ', className:'col3-4' },
bgneal@312 51 {name:'Smile', replaceWith:' :-) ', className:'col3-5' },
bgneal@312 52 {name:'Uh-oh', replaceWith:' :uh-oh: ', className:'col4-1' },
bgneal@312 53 {name:'Whatever', replaceWith:' :whatever: ', className:'col4-2' },
bgneal@312 54 {name:'Wink', replaceWith:' ;-) ', className:'col4-3' },
bgneal@312 55 {name:'Yes', replaceWith:' :yes: ', className:'col4-4' },
bgneal@312 56 {name:'Sleep', replaceWith:' :sleep: ', className:'col4-5' }
bgneal@312 57 ]
bgneal@312 58 },
bgneal@312 59 {separator:'---------------'},
bgneal@312 60 {name:'Preview', call:'preview', className:"preview"}
bgneal@312 61 ]
bgneal@312 62 }
bgneal@312 63
bgneal@312 64 // mIu nameSpace to avoid conflict.
bgneal@312 65 miu = {
bgneal@312 66 markdownTitle: function(markItUp, char) {
bgneal@312 67 heading = '';
bgneal@312 68 n = $.trim(markItUp.selection||markItUp.placeHolder).length;
bgneal@312 69 for(i = 0; i < n; i++) {
bgneal@312 70 heading += char;
bgneal@312 71 }
bgneal@312 72 return '\n'+heading;
bgneal@312 73 }
bgneal@312 74 }
bgneal@312 75
bgneal@312 76 $(document).ready(function() {
bgneal@312 77 $('.markItUp').markItUp(mySettings);
bgneal@312 78
bgneal@312 79 $('#smileys_dialog_popup').dialog({autoOpen:false});
bgneal@312 80 var firstTimeSmiley = true;
bgneal@312 81 $('#more_smileys_link').click(function () {
bgneal@312 82 $('#smileys_dialog_popup').dialog('open');
bgneal@312 83 var smileyTarget = $('.smileyTarget')[0];
bgneal@312 84 if (firstTimeSmiley) {
bgneal@312 85 $.ajax({
bgneal@312 86 url: '/smiley/farm/extra/',
bgneal@312 87 type: 'GET',
bgneal@312 88 dataType: 'html',
bgneal@312 89 success: function(data, textStatus) {
bgneal@312 90 var img = $('#smiley_busy');
bgneal@312 91 img.hide();
bgneal@312 92 img.after(data);
bgneal@312 93 $('#smileys_dialog_popup .smiley_farm img').click(function() {
bgneal@312 94 smileyTarget.value += ' ' + this.alt + ' ';
bgneal@312 95 smileyTarget.focus();
bgneal@312 96 });
bgneal@312 97 firstTimeSmiley = false;
bgneal@312 98 },
bgneal@312 99 error: function (xhr, textStatus, ex) {
bgneal@312 100 alert('Oops, an error occurred: ' + xhr.statusText + ' - ' + xhr.responseText);
bgneal@312 101 }
bgneal@312 102 });
bgneal@312 103 }
bgneal@312 104 return false;
bgneal@312 105 });
bgneal@312 106 $('#markdown_help_dialog_popup').dialog({autoOpen: false, width: 720, height: 600});
bgneal@312 107 var firstTimeMdHelp = true;
bgneal@312 108 $('#markdown_help_link').click(function () {
bgneal@312 109 $('#markdown_help_dialog_popup').dialog('open');
bgneal@312 110 if (firstTimeMdHelp) {
bgneal@312 111 $.ajax({
bgneal@312 112 url: '/core/markdown_help/',
bgneal@312 113 type: 'GET',
bgneal@312 114 dataType: 'html',
bgneal@312 115 success: function(data, textStatus) {
bgneal@312 116 var img = $('#markdown_busy');
bgneal@312 117 img.hide();
bgneal@312 118 img.after(data);
bgneal@312 119 firstTimeMdHelp = false;
bgneal@312 120 },
bgneal@312 121 error: function (xhr, textStatus, ex) {
bgneal@312 122 alert('Oops, an error occurred: ' + xhr.statusText + ' - ' + xhr.responseText);
bgneal@312 123 }
bgneal@312 124 });
bgneal@312 125 }
bgneal@312 126 return false;
bgneal@312 127 });
bgneal@312 128 });