User:Vadim/common.js
From CruisersWiki
< User:Vadim(Difference between revisions)
(71 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
- | function | + | addOnloadHook(function () { |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | |||
- | |||
- | |||
- | |||
if (wgAction == 'edit' || wgAction == 'submit') { | if (wgAction == 'edit' || wgAction == 'submit') { | ||
- | // | + | //if (true) { |
- | + | if (/\.js$/.test(wgPageName) || /\.css$/.test(wgPageName) || /^Template:/.test(wgPageName)) { | |
- | + | ||
- | + | ||
- | + | ||
- | if | + | |
- | + | ||
- | + | ||
- | var initCodeEditor = function () { | + | // 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< | // https://github.com/ajaxorg/ace/wiki/Default-Keyboard-Shortcuts< | ||
- | $wpTextbox1 = $( '#wpTextbox1' ); | + | var $wpTextbox1 = $( '#wpTextbox1' ); |
- | $aceEditor = $( "<div></div>" ).insertAfter( "#wpTextbox1" ); | + | var $aceEditor = $( "<div></div>" ).insertAfter( "#wpTextbox1" ); |
$aceEditor.height($wpTextbox1.height()); | $aceEditor.height($wpTextbox1.height()); | ||
$aceEditor.text($wpTextbox1.text()); | $aceEditor.text($wpTextbox1.text()); | ||
Line 33: | Line 18: | ||
$('#toolbar').hide(); | $('#toolbar').hide(); | ||
- | editor = ace.edit($aceEditor[0]); | + | var editor = ace.edit($aceEditor[0]); |
+ | var session = editor.getSession(); | ||
- | + | session.on( | |
'change', | 'change', | ||
function(e) { | function(e) { | ||
Line 43: | Line 29: | ||
// editor.setTheme("ace/theme/monokai"); | // editor.setTheme("ace/theme/monokai"); | ||
- | + | session.setUseSoftTabs(true); | |
+ | session.setUseWrapMode(true); | ||
if (/\.js$/.test(wgPageName)) { | if (/\.js$/.test(wgPageName)) { | ||
- | + | session.setMode("ace/mode/javascript"); | |
} else if (/\.css$/.test(wgPageName)) { | } 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(' | + | loadScript( acePath + '/ace.js', initCodeEditor ); //function () {}); |
} else { | } else { | ||
- | // install [[Wikipedia: | + | //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'); | ||
} | } | ||
} | } | ||
+ | |||
}); | }); |
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'); } } });