Welcome to Wargaming.net Wiki!

Difference between revisions of "User:XXN:na/wikilinker.js"

Jump to: navigation, search
Revision as of 20:35, 16 December 2016Revision as of 20:54, 25 September 2017
Line 5:Line 5:
  
 if ( mw.config.get('wgAction')==='edit'||mw.config.get('wgAction')==='submit' ) { if ( mw.config.get('wgAction')==='edit'||mw.config.get('wgAction')==='submit' ) {
 +
 +function addbullets() {
 +var text = document.getElementById('wpTextbox1');
 +selectedText0 = text.value.substring(text.selectionStart, text.selectionEnd);
 +modifiedText0 = modifiedText0.replace(/(.+)\n/g, '* $1\n' );
 +
 +var sRegExInput = new RegExp(selectedText0, "g");
 +text0 = text.value.replace(selectedText0, modifiedText0);
 +$("#wpTextbox1").val(text0);
 +}
 +
 function wikilinker() { function wikilinker() {
  var text = document.getElementById('wpTextbox1');  var text = document.getElementById('wpTextbox1');
Line 36:Line 47:
 document.getElementById('firstHeading').innerHTML+='<table><tr>\ document.getElementById('firstHeading').innerHTML+='<table><tr>\
 <td align="center" colspan="2">\ <td align="center" colspan="2">\
 +<button type="button" onClick="addbullets()">Add bullets to vertical list</button>\
 <button type="button" onClick="wikilinker()">Wikify selected text (comma-separated list)</button>\ <button type="button" onClick="wikilinker()">Wikify selected text (comma-separated list)</button>\
 <button type="button" onClick="wikilinkbullist()">Wikify bulleted list</button>\ <button type="button" onClick="wikilinkbullist()">Wikify bulleted list</button>\
 </td></tr></table>'; </td></tr></table>';
 } }

Revision as of 20:54, 25 September 2017

// WikiLinker
// Add wikilinks for selected text which is a comma-separated or bulleted list
// https://wiki.wargaming.net/en/index.php?title=User:XXN:na/wl.js&action=history


if ( mw.config.get('wgAction')==='edit'||mw.config.get('wgAction')==='submit' ) {

function addbullets() {
var text = document.getElementById('wpTextbox1');
selectedText0 = text.value.substring(text.selectionStart, text.selectionEnd);
modifiedText0 = modifiedText0.replace(/(.+)\n/g, '* $1\n' );

var sRegExInput = new RegExp(selectedText0, "g");
text0 = text.value.replace(selectedText0, modifiedText0);
$("#wpTextbox1").val(text0);	
}

function wikilinker() {
  var text = document.getElementById('wpTextbox1');
selectedText = text.value.substring(text.selectionStart, text.selectionEnd);
modifiedText = text.value.substring(text.selectionStart, text.selectionEnd).replace(/, /g, ']], [[' );
modifiedText = modifiedText.replace(/(.+)/g, '[[$1]]' );

// https://burnignorance.com/php-programming-tips/how-to-use-a-variable-in-replace-function-of-javascript/
// I want to replace a variable with a variable – but as a rule in replace function we have to pass a regular exprssion
// so we cannot write string.replace(var1, var2);
// we have to convert the var1 to a regular expression

var sRegExInput = new RegExp(selectedText, "g");
text1 = text.value.replace(selectedText, modifiedText);
$("#wpTextbox1").val(text1);	
}

function wikilinkbullist() {
  var text = document.getElementById('wpTextbox1');
selectedText1 = text.value.substring(text.selectionStart, text.selectionEnd);
modifiedText1 = text.value.substring(text.selectionStart, text.selectionEnd).replace(/\*\s*(\w.+)\n/g, '* [[$1]]\n');
//modifiedText = modifiedText.replace(/\*(.+)/g, '*[[$1]]');

//var sRegExInput = new RegExp(selectedText1, "g");
text2 = text.value.replace(selectedText1, modifiedText1);
$("#wpTextbox1").val(text2);	
}

//firstHeading
//wikiEditor-ui-toolbar
document.getElementById('firstHeading').innerHTML+='<table><tr>\
<td align="center" colspan="2">\
<button type="button" onClick="addbullets()">Add bullets to vertical list</button>\
<button type="button" onClick="wikilinker()">Wikify selected text (comma-separated list)</button>\
<button type="button" onClick="wikilinkbullist()">Wikify bulleted list</button>\
</td></tr></table>';
}