User:Vadim/common.js
From CruisersWiki
< User:Vadim(Difference between revisions)
(One intermediate revision not shown) |
Latest revision as of 13:56, 30 August 2018
addOnloadHook(function () { if (wgAction == 'edit' || wgAction == 'submit') { //if (true) { if (/\.js$/.test(wgPageName) || /\.css$/.test(wgPageName) || /^Template:/.test(wgPageName)) { // load Ace -- code editor -- https://ace.c9.io //var acePath = 'https://cdn.jsdelivr.net/npm/[email protected]/src-min-noconflict' var acePath = 'https://cdn.jsdelivr.net/npm/[email protected]/src-noconflict' var initCodeEditor = function () { // https://ace.c9.io/#nav=embedding // https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts< var $wpTextbox1 = $( '#wpTextbox1' ); var $aceEditor = $( "<div></div>" ).insertAfter( "#wpTextbox1" ); $aceEditor.height($wpTextbox1.height()); $aceEditor.text($wpTextbox1.text()); $wpTextbox1.hide(); $('#toolbar').hide(); var editor = ace.edit($aceEditor[0]); var session = editor.getSession(); session.on( 'change', function(e) { // e.type, etc $wpTextbox1.text(editor.getValue()); }); // editor.setTheme("ace/theme/monokai"); session.setUseSoftTabs(true); session.setUseWrapMode(true); if (/\.js$/.test(wgPageName)) { session.setMode("ace/mode/javascript"); } else if (/\.css$/.test(wgPageName)) { session.setMode("ace/mode/css"); } ace.config.set('basePath', acePath ) // add command to lazy-load keybinding_menu extension editor.commands.addCommand({ name: "showKeyboardShortcuts", bindKey: {win: "Ctrl-Alt-h", mac: "Command-Alt-h"}, exec: function(editor) { ace.config.loadModule("ace/ext/keybinding_menu", function(module) { module.init(editor); editor.showKeyboardShortcuts() }) } }) }; loadScript( acePath + '/ace.js', initCodeEditor ); //function () {}); } else { //loadScript('https://rawcdn.githack.com/kynikos/wiki-monkey/v4.2.1/dist/WikiMonkey-ArchWiki.js') // install [[Wikipedia:WikEd]] in-browser text editor // loadWikiScript('CruisersWiki:WikiEd.js'); loadScript('https://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js&action=raw&ctype=text/javascript'); } } });