User:Ohconfucius/script/dateabbreviations.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.
/*************
***	regex menu framework
*** by [[m:user:Pathoschild]] <http://meta.wikimedia.org/wiki/User:Pathoschild/Scripts/Regex_menu_framework>
***	- adds a sidebar menu of user-defined scripts.
*************/
mw.loader.load('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js&action=raw&ctype=text/javascript');
 
function Ohc_expand() {
 var	txt=document.editform.wpTextbox1;
	
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)Jan\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 January $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d)(?: |&nbsp;)Febr?\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 February $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)Mar\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 March $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)Apr\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 April $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)Jun\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 June $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)Jul\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 July $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)Aug\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 August $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)Sept?\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 September $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)Oct\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 October $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)Nov\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 November $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)Dec\.?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 December $3');

	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)Jan\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 January $2)');
	regex(/\(([0-2]?\d)(?: |&nbsp;)Febr?\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 February $2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)Mar\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 March $2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)Apr\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 April $2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)Jun\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 June $2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)Jul\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 July $2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)Aug\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 August $2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)Sept?\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 September $2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)Oct\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 October $2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)Nov\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 November $2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)Dec\.?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 December $2)');

	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Jan\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1January $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Febr?\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1February $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Mar\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1March $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Apr\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1April $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Jun\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1June $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Jul\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1July $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Aug\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1August $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Sept?\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1September $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Oct\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1October $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Nov\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1November $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))Dec\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1December $2, $3');

	regex(/\(Jan\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(January $1, $2)');
	regex(/\(Febr?\.?(?: |&nbsp;)([0-2]?\d),?(?: |&nbsp;)([12]\d{3})\)/gi, '(February $1, $2)');
	regex(/\(Mar\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(March $1, $2)');
	regex(/\(Apr\.?(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(April $1, $2)');
	regex(/\(Jun\.?(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(June $1, $2)');
	regex(/\(Jul\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(July $1, $2)');
	regex(/\(Aug\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(August $1, $2)');
	regex(/\(Sept?\.?(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(September $1, $2)');
	regex(/\(Oct\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(October $1, $2)');
	regex(/\(Nov\.?(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(November $1, $2)');
	regex(/\(Dec\.?(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(December $1, $2)');
}

function Ohc_run_expand() {
 var txt=document.editform.wpTextbox1;
    Ohc_expand();

// Add a tag to the summary box
 var txt=document.editform.wpSummary;
    var summary = "expand month names";
	if (txt.value.indexOf(summary) == -1) {
		if (txt.value.match(/[^\*\/\s][^\/\s]?\s*$/)) {
			txt.value += " | ";
		}
		txt.value += summary;
	}
   document.forms.editform.wpMinoredit.checked = true;
   document.editform.wpDiff.click();

}
function Ohc_abbreviate() {
 var	txt=document.editform.wpTextbox1;
	
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)January,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Jan. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d)(?: |&nbsp;)February,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Feb. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)March,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Mar. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)April,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Apr. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)June,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Jun. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)July,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Jul. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)August,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Aug. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)September,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Sep. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)October,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Oct. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30)(?: |&nbsp;)November,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Nov. $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))([0-2]?\d|30|31)(?: |&nbsp;)December,?(?: |&nbsp;)([12]\d{3})/gi, '$1$2 Dec. $3');


	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)January,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Jan.$2)');
	regex(/\(([0-2]?\d)(?: |&nbsp;)February,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Feb.$2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)March,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Mar.$2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)April,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Apr.$2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)June,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Jun.$2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)July,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Jul.$2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)August,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Aug.$2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)September,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Sep.$2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)October,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Oct.$2)');
	regex(/\(([0-2]?\d|30)(?: |&nbsp;)November,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Nov.$2)');
	regex(/\(([0-2]?\d|30|31)(?: |&nbsp;)December,?(?: |&nbsp;)([12]\d{3})\)/gi, '($1 Dec.$2)');

	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))January(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Jan. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))February(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Feb. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))March(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Mar. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))April(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Apr. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))June(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Jun. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))July(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Jul. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))August(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Aug. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))September(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Sep. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))October(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Oct. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))November(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Nov. $2, $3');
	regex(/(\|[ ]*(?:date|archivedate|accessdate)[ ]*=[ ]*|(?:Accessed|Retrieved) (?:on |))December(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})/gi, '$1Dec. $2, $3');

	regex(/\(January(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Jan. $1, $2)');
	regex(/\(February(?: |&nbsp;)([0-2]?\d),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Feb. $1, $2)');
	regex(/\(March(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Mar. $1, $2)');
	regex(/\(April(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Apr. $1, $2)');
	regex(/\(June(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Jun. $1, $2)');
	regex(/\(July(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Jul. $1, $2)');
	regex(/\(August(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Aug. $1, $2)');
	regex(/\(September(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Sep. $1, $2)');
	regex(/\(October(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Oct. $1, $2)');
	regex(/\(November(?: |&nbsp;)([0-2]?\d|30),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Nov. $1, $2)');
	regex(/\(December(?: |&nbsp;)([0-2]?\d|30|31),?(?: |&nbsp;)([12]\d{3})\)/gi, '(Dec. $1, $2)');
}

function Ohc_run_abbreviate() {
 var txt=document.editform.wpTextbox1;
    Ohc_abbreviate();

// Add a tag to the summary box
 var txt=document.editform.wpSummary;
    var summary = "abbreviate month names";
	if (txt.value.indexOf(summary) == -1) {
		if (txt.value.match(/[^\*\/\s][^\/\s]?\s*$/)) {
			txt.value += " | ";
		}
		txt.value += summary;
	}
   document.forms.editform.wpMinoredit.checked = true;
   document.editform.wpDiff.click();

}

$.when(mw.loader.using('mediawiki.util'), $.ready).done(function () { 
	if(document.forms.editform) {
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_run_expand()', 'EXPAND month', 't-addmetric', 'Month names in full', '', '');
  mw.util.addPortletLink('p-tb', 'javascript:Ohc_run_abbreviate()', 'ABBREV month', 't-addmetric', 'Month names abbreviated', '', '');
  }
});