/** * Textile Language Definition */ (function() { var Textile = { 'function-bold' : { search: /([^\n]+)([\n]*)/gi, replace: "*$1*$2" }, 'function-italic' : { search: /([^\n]+)([\n]*)/gi, replace: "_$1_$2" }, 'function-hr' : { append: "\n***\n" }, 'function-code' : { search: /([^\n]+)([\n]*)/gi, replace: "
$1
$2" }, 'function-ul' : { search: /(.+)([\n]?)/gi, replace: "* $1$2" }, /* This looks silly but is completely valid Markdown */ 'function-ol' : { search: /(.+)([\n]?)/gi, replace: "# $1$2" }, 'function-blockquote' : { search: /(.+)([\n]?)/gi, replace: "bq. $1$2" }, 'function-link' : { exec: function( txt, selText, $field ) { var results = null; $.GollumEditor.Dialog.init({ title: 'Insert Link', fields: [ { id: 'text', name: 'Link Text', type: 'text', help: 'The text to display to the user.' }, { id: 'href', name: 'URL', type: 'text', help: 'The URL to link to.' } ], OK: function( res ) { var h = ''; if ( res['text'] && res['href'] ) { h = '"' + res['text'] + '":' + res['href']; } $.GollumEditor.replaceSelection( h ); } }); } }, 'function-image' : { exec: function( txt, selText, $field ) { var results = null; $.GollumEditor.Dialog.init({ title: 'Insert Image', fields: [ { id: 'url', name: 'Image URL', type: 'text' }, { id: 'alt', name: 'Alt Text', type: 'text' } ], OK: function( res ) { if ( res['url'] ) { var h = '!' + res['url']; if ( res['alt'] != '' ) { h += '(' + res['alt'] + ')'; } h += '!'; %.GollumEditor.replaceSelection( h ); } } }); } } }; jQuery.GollumEditor.defineLanguage('textile', Textile); })();