User:Ohconfucius/script/tometricunits.js: Difference between revisions

Content deleted Content added
tweak
blanking
Tag: Blanking
 
Line 1:
// <nowiki>
 
function Ohc_CONVERT_TOMETRICUNITS(){
//unlinking main units before adding template
regex(/\[\[((?:acre|yard|f(ee|oo)t|inch|mile|pound|ounce)s?)\]\]/gi, '$1');
regex(/\[\[pound \(mass\)\|((?:lb|pound)s?)\]\]/gi, '$1');
regex(/\[\[foot \(unit\)\|(f[eo]{2}t)\]\]/gi, '$1');
 
//imperial conversion fixes
////velocity
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(mph|miles per hour)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|mph|km\/h}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(mph|miles per hour)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|mph|km\/h}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(ft\/s|f[eo]{2}t per second)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|ft\/s|m\/s}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(ft\/s|f[eo]{2}t per second)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|ft\/s|m\/s}}');
 
////ranges
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:pounds|lbs?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:pounds|lbs?)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|$3|$4$5|lb|kg}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:pounds|lbs?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:pounds|lbs?)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|lb|kg}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:pounds|lbs?\.?)|)\s?([–—])\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:pounds|lbs?\.?)/g, '{{convert|$1$2|to|$4$5|lb|kg}}');
 
regex(/(?<![,\d\(\[])(\d{1,2}(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:inch(?:es|)|in\.?)|)\s?(to|-)\s?(\d{1,2}(?:\.\d+|))(?:&nbsp;|\s|)(?:inch(?:es|)|in)\.(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1|$2|$3|in|cm}}');
regex(/(?<![,\d\(\[])(\d{1,2}(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:inch(?:es|)|in\.?)|)\s?(to|-)\s?(\d{1,2}(?:\.\d+|))(?:&nbsp;|\s|)(?:inch(?:es|)|in)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1|$2|$3|in|cm}}');
regex(/(?<![,\d\(\[])(\d{1,2}(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:inch(?:es|)|in\.?)|)\s?([–—])\s?(\d{1,2}(?:\.\d+|))(?:&nbsp;|\s|)(?:inch(?:es|)|in\.)/g, '{{convert|$1|$2|$3|in|cm}}');
 
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:feet|ft\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:feet|ft)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|$3|$4$5|ft|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:feet|ft\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:feet|ft)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|ft|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:yards|yds?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:yards|yds?)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|$3|$4$5|yd|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:yards|yds?\.?)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:yards|yds?)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|yd|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:miles)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)mi(?:les|)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|$3|$4$5|mi|km}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:(?:&nbsp;|\s|)(?:miles)|)\s?(to|-)\s?(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)miles(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|$3|$4$5|mi|km}}');
 
////multiple units
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(feet|ft\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)in(?:ches|ch|)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1|ft|$3|in}}');
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(feet|ft\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)in(?:ches|ch|)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1|ft|$3|in}}');
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(pounds?|lbs?\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)(?:oz|ounces?)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1|lb|$3|oz}}');
regex(/(?<![,\d\(\[])(\d+)(?:&nbsp;|\s|)(pounds?|lbs?\.?),?(?:&nbsp;|\s|)([01]?\d)(?:&nbsp;|\s|)(?:oz|ounces?)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1|lb|$3|oz}}');
 
 
////simple
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:pounds|lbs?)(?=[\.,;]?(?:\s+[a-z\(]|<|\n))/g, '{{convert|$1$2|lb|kg}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:pounds|lbs?)(?=\.\s+[A-Z]|\s.\W|\n)/g, '{{convert|$1$2|lb|kg}}');
 
regex(/(?<![,\d\(\[])(\d{1,2}(?:\.\d+|))(?:&nbsp;|\s|)in\.(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|in|cm}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)in(?:ches|ch)(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|in|cm}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:feet|ft)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|ft|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:yards?|yds?)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|yd|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(mi)(?:les|)\.?(?=[\.,;]?\s+[a-z\(])/g, '{{convert|$1$2|$3|km}}');
 
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)inches/g, '{{convert|$1$2|in|cm}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)feet/g, '{{convert|$1$2|ft|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)yards/g, '{{convert|$1$2|yd|m}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)miles/g, '{{convert|$1$2|$3|km}}');
 
////adjectival
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))-(in)ch(?:&nbsp;|\s)(?!\()/g, '{{convert|$1$2|in|cm|adj=on}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))-(foot|ft)(?:&nbsp;|\s)(?!\()/g, '{{convert|$1$2|ft|m|adj=on}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))-(yard|yd)(?:&nbsp;|\s)(?!\()/g, '{{convert|$1$2|yd|m|adj=on}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))-(mi)le(?:&nbsp;|\s)(?!\()/g, '{{convert|$1$2|mi|km|adj=on}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))-(pound|lb)(?:&nbsp;|\s)(?!\()/g, '{{convert|$1$2|lb|kg|adj=on}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))-(acre)(?:&nbsp;|\s)(?!\()/g, '{{convert|$1$2|acre|ha|adj=on}}');
 
////area (shorthand)
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:sq\. ft\.|sq ?ft)(&nbsp;|\s)(?!\()/g, '{{convert|$1$2|sqft|m2}}$3');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:sq\. yd\.|sq ?yd)(&nbsp;|\s)(?!\()/g, '{{convert|$1$2|sqyd|m2}}$3');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)(?:sq mi)(&nbsp;|\s)(?!\()/g, '{{convert|$1$2|sqmi|km2}}$3');
//area longhand
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)square feet/g, '{{convert|$1$2|sqft|m2}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)square yards?/g, '{{convert|$1$2|sqyd|m2}}');
regex(/(?<![,\d\(\[])(\d*),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)square miles?/g, '{{convert|$1$2|sqmi|km2}}');
regex(/(?<![,\d\(\[])(\d+),?(\d+(?:\.\d+|))(?:&nbsp;|\s|)acres?/g, '{{convert|$1$2|acre|ha}}');
 
regex(/(?<![,\d\(\[])(\d+(?:\.\d+|))(?:&nbsp;|\s|)acres?/g, '{{convert|$1|acre|ha}}');
 
 
 
}
function Ohc_CONVERT_TOMETRICUNITS_driver(){
//Add a tag to the summary box
Ohc_CONVERT_TOMETRICUNITS();
setreason('Applying Convert template to non-metric units', 'appendonce');
}
$.when(mw.loader.using('mediawiki.util'), $.ready).done(function () {
if(document.forms.editform) {
mw.util.addPortletLink('p-tb', 'javascript:Ohc_CONVERT_TOMETRICUNITS_driver()', 'CONVERT to metric', 'convert', 'convert', '', '');
 
}
});
// </nowiki>