User:Lightmouse/monobook.js/script.js: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 61:
txt.value=txt.value.replace(/\[\[(\d{1,2}(?:st|nd|rd|th)(?:\s|-))(century|centuries)(\sAD|\sBC|\sCE|\sBCE|)\]\]/gi, '$1$2$3');
txt.value=txt.value.replace(/\[\[\d{1,2}(?:st|nd|rd|th)(?:\s|-)(?:century|centuries)(?:\sAD|\sBC|\sCE|\sBCE|)\|([^\]]{1,30})\]\]/gi, '$1');
 
//Protect 2000 AD etc
txt.value=txt.value.replace(/(\[\[(?:2300|2000))\s(AD\]\])/gi, '$1xx$2');
 
// decades and years
txt.value=txt.value.replace(/\[\[(\d{1,4})\'?s\]\]/gi, '$1s');
txt.value=txt.value.replace(/\[\[(\d{1,4})\'?(s)?\s(AD|BC|CE|BCE)\]\]/gi, '$1$2 $3');
txt.value=txt.value.replace(/\[\[\d{1,4}\'?s?\s(?:AD|BC|CE|BCE)\|([^\d]]{1,430})\'?(s)?\]\]/gi, '$1$2');
txt.value=txt.value.replace(/\[\[\d{1,4}\'?s?\s(?:AD|BC|CE|BCE)\|([^\d]]{1,430})\'?(s)?\s(AD|BC|CE|BCE)\]\]/gi, '$1$2 $3');
txt.value=txt.value.replace(/\[\[\d{1,4}\'?s?\|(\d{1,4})\'?(s)?\s(AD|BC|CE|BCE)\]\]/gi, '$1$2 $3');
txt.value=txt.value.replace(/\[\[\d{1,4}\'?s?\|(\d{1,4})\'?(s)?\]\]/gi, '$1$2');
txt.value=txt.value.replace(/\[\[\d\d?(?:st|nd|rd|th)\scentur(?:y|ies)\|(\d{1,4})\'?(s)?\]\]/gi, '$1$2');
txt.value=txt.value.replace(/\[\[\w{5,12}\scentur(?:y|ies)\|(\d{1,4})\'?(s)?\]\]/gi, '$1$2');
// solitary day_numbers
txt.value=txt.value.replace(/\[\[(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd)\|(\d{1,2}(?:th|st|nd|rd))\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[\d{1,2}(?:th|st|nd|rd)\s(?:January|February|March|April|May|June|July|August|September|October|November|December)\|(\d{1,2}(?:th|st|nd|rd))\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[(\d{1,2}(?:st|nd|rd|th))\]\]/gi, '$1');
 
//Unprotect 2000 AD etc
txt.value=txt.value.replace(/(\[\[(?:2300|2000))xx(AD]\])/gi, '$1 $2');
 
//month+year
Line 96 ⟶ 82:
 
//'present'
txt.value=txt.value.replace(/\[\[Present\s\(time\)\|(Present[^\]]{1,30})\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[(Present)\]\]/gi, '$1');
 
//Season
txt.value=txt.value.replace(/\[\[(spring\s\(season\)|summer|winter|autumn)\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[spring\s\(season\)\|(spring[^\]]{1,30})\]\]/gi, '$1');
 
//Identify surprise or 'Easter egg' diversions linking months to year articles.
Line 118 ⟶ 104:
txt.value=txt.value.replace(/\[\[(\d?\d)(?:th|st|nd|rd)\s(January|February|March|April|May|June|July|August|September|October|November|December)\]\]/gi, '[[$1 $2]]');
 
 
//Month+day_number piped into number. Preferences do not work. They don't work in sequence because digits in the two dates must be adjacent
 
//MonthSequence containing month+day_number piped into number. Preferences do not work. They don't work in sequence because digits in the two dates must be adjacent
txt.value=txt.value.replace(/([^\[]{4})\[\[((?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d?\d)\]\](\s?\-?\s?)\[\[(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd)\|(\d{1,2}(?:th|st|nd|rd))\]\]/gi, '$1$2$3$4');
//same again but with ndash or mdash instead of hyphen
Line 143 ⟶ 131:
txt.value=txt.value.replace(/([^\[]{4})\[\[(\d?\d)\s(?:January|February|March|April|May|June|July|August|September|October|November|December)\]\](\/)\[\[(\d{1,2}(?:th|st|nd|rd))\]\]/gi, '$1$2$3$4');
 
// month and day piped
txt.value=txt.value.replace(/\[\[(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd)\|(\d{1,2}(?:th|st|nd|rd))\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[\d{1,2}(?:th|st|nd|rd)\s(?:January|February|March|April|May|June|July|August|September|October|November|December)\|(s\d{1,2}(?:th|st|nd|rd)\|([^\]]{1,30})\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[\d{1,2}(?:th|st|nd|rd)\s(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd)\|([^\d]]{1,230}(?:th|st|nd|rd))\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[\d{1,4}\'?s?\|(\d{1,42})\'?(s)?\s(AD:st|BCnd|CErd|BCEth))\]\]/gi, '$1$2 $3');
 
txt.value=txt.value.replace(/\[\[(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd)\|((?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s\d{1,2}(?:th|st|nd|rd))\]\]/g, '$1');
//month+day piped into month+day or vice versa
txt.value=txt.value.replace(/\[\[\d{1,2}(?:th|st|nd|rd)\s(?:January|February|March|April|May|June|July|August|September|October|November|December)\|((?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd))\]\]/gi, '$1');
txt.value=txt.value.replace(/\[\[(?:January|February|March|April|May|June|July|August|September|October|November|December)\s\d{1,2}(?:th|st|nd|rd)\|(\d{1,2}(?:th|st|nd|rd)\s(?:January|February|March|April|May|June|July|August|September|October|November|December))\]\]/gi, '$1');
 
//4 digit years piped into 2
txt.value=txt.value.replace(/\[\[\d{1,4}\|([^\d]]{1,230}(?:th|st|nd|rd))\]\]/gi, '$1');
 
//full dates with incorrect 'year in'
Line 787 ⟶ 773:
//protect certain dates
txt.value=txt.value.replace(/(september)\s(11[^\d])/gi, '$1xx$2');
// txt.value=txt.value.replace(/(\[\[september)xx(11\]\])/gi, '$1 $2');
// txt.value=txt.value.replace(/(\[\[september)xx(11,\s2001\]\])/gi, '$1 $2');
// txt.value=txt.value.replace(/(\[\[september)xx(11,\s2001\sattacks\]\])/gi, '$1 $2');
txt.value=txt.value.replace(/([^\d]7)\s(july)/gi, '$1xx$2');
// txt.value=txt.value.replace(/(\[\[7May)xx\s(july1968\]\])/gi, '$1 1xx$2');
txt.value=txt.value.replace(/(\[\[(?:2300|2000))\s(AD\]\])/gi, '$1xx$2');
}
 
Line 800 ⟶ 784:
txt.value=txt.value.replace(/(september)xx(11)/gi, '$1 $2');
txt.value=txt.value.replace(/(7)xx(july)/gi, '$1 $2');
txt.value=txt.value.replace(/(\[\[\d\d?(?:st|nd|rd|thMay)\scenturxx(?:y|ies)\|(\d{1,4})\'?(s)?1968\]\])/gi, '$1 $2');
txt.value=txt.value.replace(/(\[\[\d{1,4}\'(?s?\:2300|(\d{1,4}2000)\'?)xx(s)?\AD]\])/gi, '$1 $2');
 
txt.value=txt.value.replace(/\x02([0-9]+)\x03/g, function(x, n){
return linkmap[n];