User:WOSlinker/fontlinks.js

From Wikipedia, the free encyclopedia
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
function lint_queryString(p) {
    var re = RegExp('[&?]' + p + '=([^&]*)');
    var matches;
    if (matches = re.exec(document.location)) {
        try { 
            return decodeURI(matches[1]);
        } catch (e) { }
    }
    return null;
}

//Add a 'lint edit' tab
if(mw.config.get('wgArticleId') != 0 ) { 
    $( function lintEditButton() {
        mw.util.addPortletLink('p-cactions', 
                       mw.util.getUrl(null,{action:'edit',lint:true}),
                       'lint',
                       'p-lint',
                       'lint edit');
    }
)}

if(mw.config.get('wgAction') == 'edit' && lint_queryString('lint') == 'true') {
    $(function lint() {
        var myContent = document.getElementById('wpTextbox1').value;

        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:$1">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:$1">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:#$1">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:#$1">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\w*)\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:$1">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:$1">$2</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:$1">$2</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:#$1">$2</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:#$1">$2</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\w*)\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$2|<span style="color:$1">$2</span>]]');

        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:$2">$4</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:$2">$4</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:#$2">$4</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:#$2">$4</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?(\w*)\"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:$2">$4</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:$2">$3</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:$2">$3</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:#$2">$3</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f])\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:#$2">$3</span>]]');
        myContent = myContent.replace(/\<font *face *\= *"?([\w \,]*)"? *color *\= *\"?(\w*)\"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="font-family:$1;color:$2">$3</span>]]');

        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:$1;font-family:$2;">$4</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:$1;font-family:$2;">$4</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:#$1;font-family:$2;">$4</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:#$1;font-family:$2;">$4</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\w*)\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\|([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:$1;font-family:$2;">$4</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:$1;font-family:$2;">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\#[0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:$1;font-family:$2;">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:#$1;font-family:$2;">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?([0-9a-f][0-9a-f][0-9a-f])\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:#$1;font-family:$2;">$3</span>]]');
        myContent = myContent.replace(/\<font *color *\= *\"?(\w*)\"? *face *\= *"?([\w \,]*)"? *\> *\[\[([^\|^\]]*)\]\] *\<\/font\>/gi,'[[$3|<span style="color:$1;font-family:$2;">$3</span>]]');

        if(document.getElementById('wpTextbox1').value != myContent) {
           document.getElementById('wpTextbox1').value=myContent;
           document.getElementById('wpSummary').value='fix lint';
           document.getElementById('wpMinoredit').checked = true;
        }

   }
)}