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.

var mma = mma || {};

mma.tb;

mma.exceptions = [];

mma.exceptions.push({regex: /\bd'arce\b/gi, replacement: 'D\'Arce'},

        {regex: /\bperuvian\b/gi, replacement: 'Peruvian'},

        {regex: /\bbrabo\b/gi, replacement: 'Brabo'},

        {regex: /\bezekiel\b/gi, replacement: 'Ezekiel'});



mma.fixAll = function() {

    mma.fixCaps(mma.tb.value);

    mma.fixEvents(mma.tb.value);

    mma.fixLocations(mma.tb.value);

    mma.removeFlags(mma.tb.value);

    mma.useDashes(mma.tb.value);

    mma.useDts(mma.tb.value);

    mma.misc(mma.tb.value);

}



mma.toLowerCase = function(s) {

    s = s.toLowerCase();

    s = s.replace(/\u2019/g, '\''); // Replace curly apostrophe

    for (var i in mma.exceptions) {

        var me = mma.exceptionsi];

        s = s.replace(me.regex, me.replacement);

    }

    return s;

}



mma.fixCaps = function(s) {

    // Heading ending in "Record"

    s = s.replace(/([A-Za-z]) +Record( *=+ *)$/gm, '$1 record$2');

    // Heading ending in "Career"

    s = s.replace(/([A-Za-z]) +Career( *=+ *)$/gm, '$1 career$2');

    // "Mixed Martial Art" in headings

    s = s.replace(/^(=+ *)mixed +martial +art/gm, '$1Mixed martial art');

    // <ul> entries containing "Bout"

    s = s.replace(/^(\* *[A-Za-z' ]+?) +Bout *: *(.)/gm, '$1 bout: $2');

    // Heading containing "Card"

    s = s.replace(/^(={2,}.+?)Card\b/gm, '$1card');

    // Heading containing "Match"

    s = s.replace(/^(={2,}.+?)Match\b/gm, '$1match');

    // Heading containing "Official Fight"

    s = s.replace(/^(={2,}.+?)Official +Fight\b/gm, '$1Official fight');

    // Technical/Verbal Submission

    s = s.replace(/(technical|verbal) *submission *\(/gi, '$1 submission (');

    // Technical Decision/Draw

    s = s.replace(/(technical) *d(ecision|raw)/gi, '$1 d$2');

    // No contest

    s = s.replace(/(no) +contest/gi, '$1 contest');

    // PRIDE

    s = s.replace(/\bPRIDE\b/g, 'Pride');

    // DREAM

    s = s.replace(/\bDREAM\b/g, 'Dream');

    // DEEP

    s = s.replace(/\bDEEP\b/g, 'Deep');

    // RINGS

    s = s.replace(/\bRINGS\b/g, 'Rings');

    // ICON

    s = s.replace(/\bICON\b/g, 'Icon');

    // HERO'S

    s = s.replace(/\bHERO'[Ss]\b/g, 'Hero\'s');



    var re, m;



    // Capitalization of meridian per MOS:TIME

    s = s.replace(/([^.:a-zA-Z0-9]\d{1,2})(:\d{2})?( *|&nbsp;)?a(\.?)m(\W)/gi, '$1$2&nbsp;a$4m$5');

    s = s.replace(/([^.:a-zA-Z0-9]\d{1,2})(:\d{2})?( *|&nbsp;)?p(\.?)m(\W)/gi, '$1$2&nbsp;p$4m$5');



    // Method capitalization

    re = /\b(decision|submission|draw|no contest|NC|DQ|knockout|KO|TKO) *\( *([^\)\n]+?) *\)/gi;

    while ((m = re.exec(s)) != null) {

        s = s.substring(0, m.index + m1].length) + ' (' + mma.toLowerCase(m2])

                + ')' + s.substring(m.index + m0].length);

    }

    

    mma.tb.value = s;

}



mma.fixEvents = function(s) {

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?.+?)(?: +- *| *- +)/gm,

            '$1: ');



    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?\[\[) *([^\|]+?) *\| *\2(?: *: *| +- *| *- +)[^\]]+\]\]/gm,

            '$1$2]]');



    mma.tb.value = s;

}



mma.fixLocations = function(s) {

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)\[\[ *([A-Za-z ]+?) *(?: *,|\]\] *, *\[\[) *(Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire|New Jersey|New Mexico|New York|North Carolina|North Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West Virginia|Wisconsin|Wyoming)(?: *\|\1(?: *\]\] *, *\[\[ *\2 *)?)? *\]\](?: *, *(?:\[\[)? *(?:United States|U\.?S\.?A?\.?) *(?:\]\])?)? *$/gm, '$1[[$2, $3|$2]], [[$3]], [[United States]]');



    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)\[\[ *([A-Za-z ]+?) *(?: *,|\]\] *, *\[\[) *(British Columbia|Alberta|Saskatchewan|Manitoba|Ontario|Quebec|Nova Scotia|New Brunswick|Prince Edward Island|Newfoundland|Yukon|Northwest Territories|Nunavut)(?: *\|\1(?: *\]\] *, *\[\[ *\2 *)?)? *\]\](?: *, *(?:\[\[)? *Canada *(?:\]\])?)? *$/gm, '$1[[$2, $3|$2]], [[$3]], [[Canada]]');



    mma.tb.value = s;

}



mma.removeFlags = function(s) {

    s = s.replace(/^(\| *(?:align *= *['"]?(?:left|center)['"]? *\| *)?)(\{\{[Ff]lag ?icon[^\}]+\}\} *)/gm, '$1');

    s = s.replace(/^(\|.+?) *\{\{[Ff]lag ?icon *\|[^\}]+\}\} *$/gm, '$1');

    mma.tb.value = s;

}



mma.toggleDates = function(s) {

    // [dm]/[dm]/yy dates

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{1,2})\/(\d{1,2})\/(\d{4}|\d{2})\b/gm,

            '$1$3/$2/$4');



    // {{dts|yyyy-dd-mm}}

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?\{\{dts\|\d{4}-)(\d{1,2})-(\d{1,2})/gm,

            '$1$3-$2');



    mma.tb.value = s;

}



mma.useDashes = function(s) {

    // En dashes

    s = s.replace(/([^\/\w-]\d{1,2})-(\d{1,2}[^\/\w-/])/g, '$1–$2');

    s = s.replace(/([^\/\w-]\d{1,2})[-–](\d{1,2})[-–](\d{1,2}[^\/\w-])/g,

            '$1–$2–$3');



    mma.tb.value = s;

}



mma.useDts = function(s) {

    var re, m;



    // ISO 8601-like dates

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{4}-\d{1,2}-\d{1,2})\b/gm,

            '$1{{dts|$2}}');

    // m/d/yy dates

    re = /^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{1,2})\/(\d{1,2})\/(\d{4}|\d{2})\b/gm;

    while ((m = re.exec(s)) != null) {

        if (m4].length == 2) {

            // Handle YY with an arbitrary cutoff to determine century

            if (parseInt(m4], 10) < 50) {

                m4 = '20' + m4];

            } else {

                m4 = '19' + m4];

            }

        }

        // Leading zeroes

        if (m2].length == 1) {

            m2 = '0' + m2];

        }

        if (m3].length == 1) {

            m3 = '0' + m3];

        }

        s = s.substring(0, m.index + m1].length) + '{{dts|' + m4 + '-' + m2

                + '-' + m3 + '}}' + s.substring(m.index + m0].length);

    }



    // mdy dates without {{dts}}

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(January|February|March|April|May|June|July|August|September|October|November|December) *(\d{1,2}) *,? *(\d{4})\b/gm,

            '$1{{dts|$4|$2|$3}}');



    // dmy dates without {{dts}}

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{1,2}) *,? *(January|February|March|April|May|June|July|August|September|October|November|December) *,? *(\d{4})\b/gm,

            '$1{{dts|format=dmy|$4|$3|$2}}');



    mma.tb.value = s;

}



mma.misc = function(s) {

    // Exactly one space after {{flagicon}}

    s = s.replace(/\{\{ *([Ff]lagicon) *\| *(\w+) *\}\} *([\w\[])/g,

            '{\u007b$1|$2}} $3');

    // Replace "lbs" per MOS:NUM

    s = s.replace(/(\d+) *lbs\.?/gi, '$1&nbsp;lb');

    // Format draws and NCs in record tables

    s = s.replace(/^(\|-[^\n]*\n)\| *(?:(?:align|style) *=[^\|]+\|)? *(?:< *span +.+?<\/span> *)?Draw *$/gm,

            '$1| {{draw}}Draw');

    s = s.replace(/^(\|-[^\n]*\n)\| *(?:(?:align|style) *=[^\|]+\|)? *(?:< *span +.+?<\/span> *)?(?:NC|No +[Cc]ontest) *$/gm,

            '$1| {{nocontest}}NC');

    // Use {{small}} instead of unclosed <small>

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)<small> *([^<\n]+?) *$/gm,

            '$1{{small|$2}}');



    var re, m;



    // Remove extraneous table row syntax

    re = /(\n\|-[^\n]*){2,}/g;

    while ((m = re.exec(s)) != null) {

        s = s.substring(0, m.index)

                + m0].substring(m0].lastIndexOf('\n'))

                + s.substring(m.index + m0].length);

    }



    mma.tb.value = s;

}



$(function() {

    if (document.forms.editform) {

        mma.tb = document.getElementById('wpTextbox1');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixAll()', 'MMA style cleanup', 't-mmastylefix', 'Fix various style and formatting issues that are common in MMA articles', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixCaps(mma.tb.value)', '\u00a0 \u00a0 - capitalization', 't-mmacaps', 'Fix capitalization', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.useDashes(mma.tb.value)', '\u00a0 \u00a0 - dashes', 't-mmadashes', 'Use dashes', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixEvents(mma.tb.value)', '\u00a0 \u00a0 - events', 't-mmaevents', 'Fix event format', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixLocations(mma.tb.value)', '\u00a0 \u00a0 - locations', 't-mmalocs', 'Fix format of some locations', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.removeFlags(mma.tb.value)', '\u00a0 \u00a0 - flags', 't-mmaflags', 'Remove unnecessary flags from MMA record tables', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.toggleDates(mma.tb.value)', '\u00a0 \u00a0 - toggle table date fmt', 't-mmadmy', 'Swap the first two numbers in d/m/y or m/d/y dates in record tables', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.useDts(mma.tb.value)', '\u00a0 \u00a0 - {{dts}}', 't-mmadts', 'Use {{dts}} in MMA record tables', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.misc(mma.tb.value)', '\u00a0 \u00a0 - misc', 't-mmamisc', 'Misc cleanup', '', '');

    }

});
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.

var mma = mma || {};

mma.tb;

mma.exceptions = [];

mma.exceptions.push({regex: /\bd'arce\b/gi, replacement: 'D\'Arce'},

        {regex: /\bperuvian\b/gi, replacement: 'Peruvian'},

        {regex: /\bbrabo\b/gi, replacement: 'Brabo'},

        {regex: /\bezekiel\b/gi, replacement: 'Ezekiel'});



mma.fixAll = function() {

    mma.fixCaps(mma.tb.value);

    mma.fixEvents(mma.tb.value);

    mma.fixLocations(mma.tb.value);

    mma.removeFlags(mma.tb.value);

    mma.useDashes(mma.tb.value);

    mma.useDts(mma.tb.value);

    mma.misc(mma.tb.value);

}



mma.toLowerCase = function(s) {

    s = s.toLowerCase();

    s = s.replace(/\u2019/g, '\''); // Replace curly apostrophe

    for (var i in mma.exceptions) {

        var me = mma.exceptionsi];

        s = s.replace(me.regex, me.replacement);

    }

    return s;

}



mma.fixCaps = function(s) {

    // Heading ending in "Record"

    s = s.replace(/([A-Za-z]) +Record( *=+ *)$/gm, '$1 record$2');

    // Heading ending in "Career"

    s = s.replace(/([A-Za-z]) +Career( *=+ *)$/gm, '$1 career$2');

    // "Mixed Martial Art" in headings

    s = s.replace(/^(=+ *)mixed +martial +art/gm, '$1Mixed martial art');

    // <ul> entries containing "Bout"

    s = s.replace(/^(\* *[A-Za-z' ]+?) +Bout *: *(.)/gm, '$1 bout: $2');

    // Heading containing "Card"

    s = s.replace(/^(={2,}.+?)Card\b/gm, '$1card');

    // Heading containing "Match"

    s = s.replace(/^(={2,}.+?)Match\b/gm, '$1match');

    // Heading containing "Official Fight"

    s = s.replace(/^(={2,}.+?)Official +Fight\b/gm, '$1Official fight');

    // Technical/Verbal Submission

    s = s.replace(/(technical|verbal) *submission *\(/gi, '$1 submission (');

    // Technical Decision/Draw

    s = s.replace(/(technical) *d(ecision|raw)/gi, '$1 d$2');

    // No contest

    s = s.replace(/(no) +contest/gi, '$1 contest');

    // PRIDE

    s = s.replace(/\bPRIDE\b/g, 'Pride');

    // DREAM

    s = s.replace(/\bDREAM\b/g, 'Dream');

    // DEEP

    s = s.replace(/\bDEEP\b/g, 'Deep');

    // RINGS

    s = s.replace(/\bRINGS\b/g, 'Rings');

    // ICON

    s = s.replace(/\bICON\b/g, 'Icon');

    // HERO'S

    s = s.replace(/\bHERO'[Ss]\b/g, 'Hero\'s');



    var re, m;



    // Capitalization of meridian per MOS:TIME

    s = s.replace(/([^.:a-zA-Z0-9]\d{1,2})(:\d{2})?( *|&nbsp;)?a(\.?)m(\W)/gi, '$1$2&nbsp;a$4m$5');

    s = s.replace(/([^.:a-zA-Z0-9]\d{1,2})(:\d{2})?( *|&nbsp;)?p(\.?)m(\W)/gi, '$1$2&nbsp;p$4m$5');



    // Method capitalization

    re = /\b(decision|submission|draw|no contest|NC|DQ|knockout|KO|TKO) *\( *([^\)\n]+?) *\)/gi;

    while ((m = re.exec(s)) != null) {

        s = s.substring(0, m.index + m1].length) + ' (' + mma.toLowerCase(m2])

                + ')' + s.substring(m.index + m0].length);

    }

    

    mma.tb.value = s;

}



mma.fixEvents = function(s) {

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?.+?)(?: +- *| *- +)/gm,

            '$1: ');



    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?\[\[) *([^\|]+?) *\| *\2(?: *: *| +- *| *- +)[^\]]+\]\]/gm,

            '$1$2]]');



    mma.tb.value = s;

}



mma.fixLocations = function(s) {

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)\[\[ *([A-Za-z ]+?) *(?: *,|\]\] *, *\[\[) *(Alabama|Alaska|Arizona|Arkansas|California|Colorado|Connecticut|Delaware|Florida|Georgia|Hawaii|Idaho|Illinois|Indiana|Iowa|Kansas|Kentucky|Louisiana|Maine|Maryland|Massachusetts|Michigan|Minnesota|Mississippi|Missouri|Montana|Nebraska|Nevada|New Hampshire|New Jersey|New Mexico|New York|North Carolina|North Dakota|Ohio|Oklahoma|Oregon|Pennsylvania|Rhode Island|South Carolina|South Dakota|Tennessee|Texas|Utah|Vermont|Virginia|Washington|West Virginia|Wisconsin|Wyoming)(?: *\|\1(?: *\]\] *, *\[\[ *\2 *)?)? *\]\](?: *, *(?:\[\[)? *(?:United States|U\.?S\.?A?\.?) *(?:\]\])?)? *$/gm, '$1[[$2, $3|$2]], [[$3]], [[United States]]');



    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)\[\[ *([A-Za-z ]+?) *(?: *,|\]\] *, *\[\[) *(British Columbia|Alberta|Saskatchewan|Manitoba|Ontario|Quebec|Nova Scotia|New Brunswick|Prince Edward Island|Newfoundland|Yukon|Northwest Territories|Nunavut)(?: *\|\1(?: *\]\] *, *\[\[ *\2 *)?)? *\]\](?: *, *(?:\[\[)? *Canada *(?:\]\])?)? *$/gm, '$1[[$2, $3|$2]], [[$3]], [[Canada]]');



    mma.tb.value = s;

}



mma.removeFlags = function(s) {

    s = s.replace(/^(\| *(?:align *= *['"]?(?:left|center)['"]? *\| *)?)(\{\{[Ff]lag ?icon[^\}]+\}\} *)/gm, '$1');

    s = s.replace(/^(\|.+?) *\{\{[Ff]lag ?icon *\|[^\}]+\}\} *$/gm, '$1');

    mma.tb.value = s;

}



mma.toggleDates = function(s) {

    // [dm]/[dm]/yy dates

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{1,2})\/(\d{1,2})\/(\d{4}|\d{2})\b/gm,

            '$1$3/$2/$4');



    // {{dts|yyyy-dd-mm}}

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?\{\{dts\|\d{4}-)(\d{1,2})-(\d{1,2})/gm,

            '$1$3-$2');



    mma.tb.value = s;

}



mma.useDashes = function(s) {

    // En dashes

    s = s.replace(/([^\/\w-]\d{1,2})-(\d{1,2}[^\/\w-/])/g, '$1–$2');

    s = s.replace(/([^\/\w-]\d{1,2})[-–](\d{1,2})[-–](\d{1,2}[^\/\w-])/g,

            '$1–$2–$3');



    mma.tb.value = s;

}



mma.useDts = function(s) {

    var re, m;



    // ISO 8601-like dates

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{4}-\d{1,2}-\d{1,2})\b/gm,

            '$1{{dts|$2}}');

    // m/d/yy dates

    re = /^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{1,2})\/(\d{1,2})\/(\d{4}|\d{2})\b/gm;

    while ((m = re.exec(s)) != null) {

        if (m4].length == 2) {

            // Handle YY with an arbitrary cutoff to determine century

            if (parseInt(m4], 10) < 50) {

                m4 = '20' + m4];

            } else {

                m4 = '19' + m4];

            }

        }

        // Leading zeroes

        if (m2].length == 1) {

            m2 = '0' + m2];

        }

        if (m3].length == 1) {

            m3 = '0' + m3];

        }

        s = s.substring(0, m.index + m1].length) + '{{dts|' + m4 + '-' + m2

                + '-' + m3 + '}}' + s.substring(m.index + m0].length);

    }



    // mdy dates without {{dts}}

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(January|February|March|April|May|June|July|August|September|October|November|December) *(\d{1,2}) *,? *(\d{4})\b/gm,

            '$1{{dts|$4|$2|$3}}');



    // dmy dates without {{dts}}

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)(\d{1,2}) *,? *(January|February|March|April|May|June|July|August|September|October|November|December) *,? *(\d{4})\b/gm,

            '$1{{dts|format=dmy|$4|$3|$2}}');



    mma.tb.value = s;

}



mma.misc = function(s) {

    // Exactly one space after {{flagicon}}

    s = s.replace(/\{\{ *([Ff]lagicon) *\| *(\w+) *\}\} *([\w\[])/g,

            '{\u007b$1|$2}} $3');

    // Replace "lbs" per MOS:NUM

    s = s.replace(/(\d+) *lbs\.?/gi, '$1&nbsp;lb');

    // Format draws and NCs in record tables

    s = s.replace(/^(\|-[^\n]*\n)\| *(?:(?:align|style) *=[^\|]+\|)? *(?:< *span +.+?<\/span> *)?Draw *$/gm,

            '$1| {{draw}}Draw');

    s = s.replace(/^(\|-[^\n]*\n)\| *(?:(?:align|style) *=[^\|]+\|)? *(?:< *span +.+?<\/span> *)?(?:NC|No +[Cc]ontest) *$/gm,

            '$1| {{nocontest}}NC');

    // Use {{small}} instead of unclosed <small>

    s = s.replace(/^(\| *(?:align *= *['"]?left['"]? *\| *)?)<small> *([^<\n]+?) *$/gm,

            '$1{{small|$2}}');



    var re, m;



    // Remove extraneous table row syntax

    re = /(\n\|-[^\n]*){2,}/g;

    while ((m = re.exec(s)) != null) {

        s = s.substring(0, m.index)

                + m0].substring(m0].lastIndexOf('\n'))

                + s.substring(m.index + m0].length);

    }



    mma.tb.value = s;

}



$(function() {

    if (document.forms.editform) {

        mma.tb = document.getElementById('wpTextbox1');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixAll()', 'MMA style cleanup', 't-mmastylefix', 'Fix various style and formatting issues that are common in MMA articles', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixCaps(mma.tb.value)', '\u00a0 \u00a0 - capitalization', 't-mmacaps', 'Fix capitalization', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.useDashes(mma.tb.value)', '\u00a0 \u00a0 - dashes', 't-mmadashes', 'Use dashes', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixEvents(mma.tb.value)', '\u00a0 \u00a0 - events', 't-mmaevents', 'Fix event format', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.fixLocations(mma.tb.value)', '\u00a0 \u00a0 - locations', 't-mmalocs', 'Fix format of some locations', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.removeFlags(mma.tb.value)', '\u00a0 \u00a0 - flags', 't-mmaflags', 'Remove unnecessary flags from MMA record tables', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.toggleDates(mma.tb.value)', '\u00a0 \u00a0 - toggle table date fmt', 't-mmadmy', 'Swap the first two numbers in d/m/y or m/d/y dates in record tables', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.useDts(mma.tb.value)', '\u00a0 \u00a0 - {{dts}}', 't-mmadts', 'Use {{dts}} in MMA record tables', '', '');

        mw.util.addPortletLink('p-tb', 'javascript:mma.misc(mma.tb.value)', '\u00a0 \u00a0 - misc', 't-mmamisc', 'Misc cleanup', '', '');

    }

});

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook