Jump to content

User:Pathoschild/common.js

From Wikipedia, the free encyclopedia
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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.
///NOTE TO SELF: switch to monobook skin to use production scripts
// <nowiki><pre>
mw.loader.load( "https://meta.wikimedia.org/w/index.php?title=User:Zhaofeng_Li/Reflinks.js&action=raw&ctype=text/javascript" );//importScript('User:Ucucha/HarvErrors.js');
importScript("User:PleaseStand/segregate-refs.js");
importScript("User:Ohconfucius/test/EngvarB.js");	//Engvar
importScript("User:Ohconfucius/dashes.js");
importScript("User:Splarka/diffreveal.js");       //reveals unicode characters when viewing diffs
importScript("User:Ohconfucius/script/flagcruft.js");   //flagcruft, tablesort
importScript("User:Ohconfucius/test/formatgeneral.js");
importScript("User:Ohconfucius/script/tometricunits.js");
importScript("User:Ohconfucius/test/MOSNUM dates.js");
importScript("User:Ohconfucius/test/Common Terms.js");
importScript("User:Ohconfucius/test/Sources.js");
importScript("User:Ohconfucius/script/foreigndates.js");
mw.loader.load('//en.wikipedia.org/w/index.php?title=User:Joeytje50/JWB.js/load.js&action=raw&ctype=text/javascript');

importScript('User:Evad37/duplinks-alt.js'); // [[User:Evad37/duplinks-alt]]

// a collection of single-purpos regexes are stored at "User:Ohconfucius/test/throwaway_regexes"

/**** dyk ****/
// [[User:Dr pda/prosesize.js]]
importScript('User:Dr pda/prosesize.js'); //[[User:Dr pda/prosesize.js]]


/**** afd helper ****/
mw.loader.load//en.wikipedia.org/w/index.php?title=User:Jnothman/afd_helper/script.js&action=raw&ctype=text/javascript');

/* This is to keep track of who is using this extension: [[User:Jnothman/afd_helper/script.js]] */

/** ------------------------------------------------------------------------ **/
/// EDIT SUMMARIES & USE DMY TEMPLATE

function Ohc_edit_summary1() {
	//Add a tag to the summary box
//	setoptions(minor='true')	//removed ",watch='false'" in response to user notification 13 Nov. 2010
	setreason('[[User:Ohconfucius/script|Script]]-assisted [[WP:MOS|style]] fixes', 'appendonce');
	doaction('diff');
}

function Ohc_edit_summary2(editor) {
	editor
		.options({ minor: false, watch: false })
		.appendEditSummary('[[User:Ohconfucius/script|Script]]-assisted [[WP:MOS|style]] fixes and per [[Help:Citation Style 1|CS1]]')
		.clickDiff();
}

function Ohc_for_AWB(editor) {
	editor
		.replace(/([\s\t]+)(?:regex|txt.value=txt.value.replace)\(\//gi, '$1ArticleText=Regex.Replace(ArticleText, @"(?i)')
		.replace(/\/gi, [\'\"]/gi, '", "')
		.replace(/\'(\);[\s\t]*)/gi, '"$1');
}

function Ohc_transcripts() {
	regex(/(\d?:|)\d\d?:\d\d\n/gi, '');
	regex(/(\w,?)\s?\n/gi, '$1 ');

}

function Ohc_for_Petscan() {
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5_$6_$7_$8&action=edit $1_$2_$3_$4_$5_$6_$7_$8]');
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5_$6_$7&action=edit $1_$2_$3_$4_$5_$6_$7]');
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5_$6&action=edit $1_$2_$3_$4_$5_$6]');
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4_$5&action=edit $1_$2_$3_$4_$5]');
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3_$4&action=edit $1_$2_$3_$4]');
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2_$3&action=edit $1_$2_$3]');
	regex(/\[\[([^|\]\s]+) ([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1_$2&action=edit $1_$2]');
	regex(/\[\[([^|\]\s]+)\|([^\]]*)\]\]/gi, '[https://en.wikipedia.org/w/index.php?title=$1&action=edit $1]');
}

function Ohc_insert_tag() {
 var txt=document.editform.wpTextbox1;
// current month-year
    var currentDate = new Date();
    var currmonth = currentDate.getMonth();
    var curryear  = currentDate.getFullYear();
    var myMonths = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
    var curryyyymm = myMonths[currmonth] + ' ' + curryear;

/// insert 'use British English' template
    txt.value=txt.value.replace(/\{\{(Use Australian English\s?)(\|[^}]*)?\}\}/gi, '{{$1|date='+curryyyymm+'}}');
    txt.value=txt.value.replace(/\{\{(Use (?:Bangladeshi|Commonwealth|Pakistani|Irish|Scottish|Singapore|Hong Kong|Indian|New Zealand|South African) English\s?)(\|[^}]*)?\}\}/gi, '{{EngvarB|date='+curryyyymm+'}}');
    txt.value=txt.value.replace(/\{\{(?:use British(?: \(Oxford\)|) English)(\|[^}]*)?\}\}/gi, '{{EngvarB|date='+curryyyymm+'}}');
    txt.value=txt.value.replace(/\{\{Engvar[A-Z][a-z]*\s?(\|[^}]*)?\}\}/gi, '{{EngvarB|date='+curryyyymm+'}}');

    var rxpdd = new RegExp("{{(Use (?:Australian|Scottish|British|Indian|New Zealand|South African) English|EngvarB)\\|date="+curryyyymm+"}}", "gi");
    var dflagfound = txt.value.search(rxpdd);
    if (dflagfound == -1)
    {
        txt.value='{{EngvarB|date='+curryyyymm+'}}\r\n'+txt.value;
    }
}

/** ------------------------------------------------------------------------ **/
/// COMPOSITE SCRIPT DRIVERS

function ONETOUCH_DMY(editor) {
// Add a tag to the summary box
 var txt=document.editform.wpTextbox1;
	//Ohc_ref_format();
	Ohc_retrain_links();
	Ohc_CommonTerms();
	//ohc_replaceflag();
	ohc_delink_dates(editor);
	ohc_expand_ref_dates(editor);
	ohc_protect_dates(editor);
	ohc_fix_unambiguous_dates(editor);
	ohc_body_dates_to_dmy(editor);
	ohc_delink_year_in_X(editor);
	ohc_dmy_publication_dates(editor);
	ohc_delink_ISO_to_dmy(editor);
	ohc_unprotect_dates(editor);
	autoEdFunctions(); //dashes
	Ohc_formatgeneral();
	ohc_sources_driver(editor);
	Ohc_edit_summary2(editor);
}

function ONETOUCH_MDY(editor) {
// Add a tag to the summary box
 var txt=document.editform.wpTextbox1;
//	Ohc_ref_format();
	Ohc_CommonTerms();

	ohc_delink_dates(editor);
	ohc_expand_ref_dates(editor);
	ohc_protect_dates(editor);
	ohc_fix_unambiguous_dates(editor);
	ohc_body_dates_to_mdy(editor);
	ohc_delink_year_in_X(editor);
	ohc_mdy_publication_dates(editor);
	ohc_delink_ISO_to_mdy(editor);
	ohc_unprotect_dates(editor);
	autoEdFunctions(); //dashes
	Ohc_formatgeneral();
	ohc_sources_driver(editor);
	Ohc_edit_summary2(editor);
}

function ohc_sources_driver(editor) {
      Ohc_remove_urls();
      ohc_protect_urls();
      Ohc_sources_prep();
      ohc_foreign_dates();
      Ohc_unpipe();
      Ohc_dab_news_sources();
      Ohc_sourcename();
      Ohc_sourcework();
      Ohc_sourcepub();
      Ohc_sourceagency();
      Ohc_redo_pipe();
      Ohc_publishers();
      Ohc_sources_cleanup();
      ohc_unprotect_urls();
}

function ONETOUCH_FMT(editor) {
// Add a tag to the summary box
 var txt=document.editform.wpTextbox1;
	Ohc_CommonTerms();
	autoEdFunctions(); //dashes
	ohc_sources_driver(editor);
	Ohc_formatgeneral();
	Ohc_edit_summary2(editor);
}

/** ------------------------------------------------------------------------ **/


/**
 * TemplateScript adds configurable templates and scripts to the sidebar, and adds an example regex editor.
 * @see https://meta.wikimedia.org/wiki/TemplateScript
 * @update-token [[File:Pathoschild/templatescript.js]]
 */
$.ajax('//tools-static.wmflabs.org/meta/scripts/pathoschild.templatescript.js', { dataType:'script', cache:true }).then(function() {
	pathoschild.TemplateScript.add(
		[
			//{ name: 'delink dates', script: function(editor) { ohc_delink_dates(editor); }, tooltip: 'delink dates' },
			{ name: 'One Touch: DMY', script: function(editor) { ONETOUCH_DMY(editor); }, tooltip: 'day month + CT' },
			{ name: 'One Touch: MDY', script: function(editor) { ONETOUCH_MDY(editor); }, tooltip: 'month day + CT' },
			{ name: 'One Touch: FORMAT', script: function(editor) { ONETOUCH_FMT(editor); }, tooltip: 'general fmt, CT + cites' },
			//{ name: 'Make AWB', script: function(editor) { Ohc_for_AWB(editor); }, tooltip: 'Make AWB code' },
			//{ name: 'Expand dates', script: function(editor) { ohc_refs_to_yyyymmdd(editor); }, tooltip: 'yyyy-mm-dd' },
			{ name: 'SLASH-US', script: function(editor) { ohc_US_slash_dates_to_mdy(editor); }, tooltip: 'US-slash' },
			{ name: 'SLASH-UK', script: function(editor) { ohc_UK_slash_dates_to_dmy(editor); }, tooltip: 'UK-slash' },
		],
		{ category: 'General' }
	);
});
// </pre></nowiki>