MediaWiki:Gadget-CodeEditor.js

/** * MediaWiki:Gadget-codeeditor.js * Stub to load Extension:CodeEditor and Ace syntax-highlighting editor as a gadget. * * Requires enhanced editing toolbar (WikiEditor extension); integrates with toolbar. * * Gadget stub CC-BY-SA 2 * (c) 2011 Brion Vibber  * * Extension:CodeEditor JS bits are GPLv2 -- http://www.mediawiki.org/wiki/Extension:CodeEditor * * Syntax highlighting, auto-indenting code editor widget for on-wiki JS and CSS pages. * Uses embedded Ajax.org Cloud9 Editor: http://ace.ajax.org/ * MPL/LGPL/GPL */ (function(mw, $) {   // @fixme need an SSL alternative    mw.config.set('wgCodeEditorAssetsPath', 'http://toolserver.org/~brion/extensions');    var moduleBase = mw.config.get('wgCodeEditorAssetsPath') + '/CodeEditor/modules';    var $box = $('#wpTextbox1');    var matches = /\.(js|css)$/.exec(wgTitle);    if ($box.length && matches && (wgNamespaceNumber == 2 /* User: */ || wgNamespaceNumber == 8 /* MediaWiki: */)) {        $(function { var modules = [ moduleBase + '/ace/ace.js', moduleBase + '/ace/mode-javascript.js', moduleBase + '/ace/mode-css.js', moduleBase + '/jquery.codeEditor.js', moduleBase + '/ext.codeEditor.js' ];           var i = 0; // @fixme loading serially is kinda lame, but it works for now var ping = function { if ( i < modules.length ) { var url = modules[i]; $.getScript(url, function {                       i++;                        ping;                    }); }           };            ping; });   } })(mediaWiki, jQuery);