பயனர்:ச.பிரபாகரன்/wikt.js
Appearance
குறிப்பு - சேமித்த பின்னர், நீங்கள் செய்த மாற்றங்களைக் காண்பதற்கு உங்கள் உலவியின் இடைமாற்று அகற்றப்பட வேண்டும்.
- மொஸில்லா பயர்பாக்ஸ் / சபாரி: Shift+Reload, அல்லது Ctrl-F5 அல்லது Ctrl-R (⌘-R Mac ல்)
- கூகிள் குரோம் Ctrl-Shift-R அழுத்தவும். (⌘-Shift-R Mac ல்) ;
- இண்டர்நெட் எக்ஸ்ப்ளோரர்: Ctrl-Refresh அல்லது Ctrl-F5 ஐ அழுத்தவும்.
- ஒபேரா: Tools → Preferences இல் இடைமாற்றை அகற்றவும்;
/* Please don't change the below code unless any new requirement or any issue. */
var txt;
var customizeToolbar = function () {
txt = $('#wpTextbox1');
txt.wikiEditor('addToToolbar', {
'sections' : {
'interWikiLinkerDev' : {
'type' : 'toolbar',
'label' : 'விக்சனரி2',
'groups' : {
'insert3' : {
'tools' : {
'addNumberedList' : {
labelMsg : 'எண்களுடன் உள்ள வரிசையாக மாற்றுக',
type : 'button',
icon : '//upload.wikimedia.org/wikipedia/commons/8/8e/Toolbaricon_bolditalic_H.png',
action : {
type : 'callback',
execute : function (context) {
var listSymbol = '#';
addRemoveList(txt,listSymbol, txt.val().indexOf(listSymbol));
}
}
},
'formatMLDictionaryText' : {
labelMsg : 'சென்னை பல்கலைகழக அகராதி பத்தியை',
type : 'button',
icon : '//upload.wikimedia.org/wikipedia/commons/4/4a/Norwegian_template_sign.png',
action : {
type : 'callback',
execute : function (context) {
formatMLDictionaryText(txt);
}
}
}
}
}
}
}
}
});
};
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar*/
if ($.inArray(mw.config.get('wgAction'), ['edit', 'submit']) !== -1) {
mw.loader.using('user.options', function () {
if (mw.user.options.get('usebetatoolbar')) {
mw.loader.using('ext.wikiEditor', function () {
$(document).ready(customizeToolbar);
});
}
});
}
function addRemoveList(inputText, listSymbol, addOrRemove) {
var txtBxVal = cleanText(inputText);
if( addOrRemove == -1 || addOrRemove > 0 ) {//add
txtBxVal = txtBxVal.replace(/^(\s*)(.*)$/gim, listSymbol+'$2');//trim left and add the list symbol
}
else {//remove
txtBxVal = txtBxVal.replace(/^\#(.*)$/gim, '$1');
}
inputText.val(txtBxVal);
}
function formatMLDictionaryText(inputText) {
var txtBxVal = cleanText(inputText);
var arrayOfMappings = mappingsText;
for (var i = 0; i < arrayOfMappings.length; i++) {
var keyValuePair = arrayOfMappings[i].trim();
if(keyValuePair.length > 0) {
var delimiter = '~';
var keyValueArray = keyValuePair.split(delimiter);
var key = keyValueArray[0].trim();
if(key.length > 0) {
if(keyValueArray.length == 1) {
txtBxVal = txtBxVal.replace(new RegExp(escapeRegExp('{{'+key+'}}'), 'gim'), key);
txtBxVal = txtBxVal.replace(new RegExp(escapeRegExp(key), 'gim'), '{{'+key+'}}');
}
else {
var value = keyValueArray[1].trim();
txtBxVal = txtBxVal.replace(new RegExp(escapeRegExp(key), 'gim'), value);
}
}
}
}
txtBxVal = txtBxVal.replace(/[;]\s*/gm, '.\r\n');
txtBxVal = txtBxVal.replace(/^(.+)\s*([0-9]+\. )/gm, '$1\r\n#');
txtBxVal = txtBxVal.replace(/^(.+)\s+(\([a-z]+\) )/gm, '$1\r\n$2');
inputText.val(txtBxVal);
}
function cleanText(inputText) {
var txtBxVal = inputText.val().trim();
txtBxVal = txtBxVal.replace(/[ ]{2,}/gm, ' ');// replace multiple space to single space
txtBxVal = txtBxVal.replace(/[ ]{1,}([\u0B95-\u0BBD][\u0BCD])/gm, '$1');//delete the extra space generated before Tamil consonant in Tamil99 keyboard layout
txtBxVal = txtBxVal.replace(/(\[)(\s*)(\[)(.*)(\])(\s*)(\])/gm, '$1$3$4$5$7');// delete unnecessary space
txtBxVal = txtBxVal.replace(/(\{)(\s*)(\{)(.*)(\})(\s*)(\})/gm, '$1$3$4$5$7');// delete unnecessary space
var arrayOfLines = txtBxVal.replace(/\r\n|\n\r|\n|\r/g,'\n').split('\n');
for (var i = 0; i < arrayOfLines.length; i++) {
arrayOfLines[i] = arrayOfLines[i].trim();
}
txtBxVal = arrayOfLines.join('\r\n');
return txtBxVal;
}
function escapeRegExp(string) {
return string.replace(/([.*+?^=!:${}()|\[\]\/\\])/g, '\\$1');
}