User:Jennica/global.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/**
 * 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:'Dash',
	  script: function(editor) {
      editor
		.replace(/ - /g, ' – ')
        .appendEditSummary('Dashes')
      }
  });
      	pathoschild.TemplateScript.add({
	  name:'<references/>',
	  script: function(editor) {
      editor
		.replace(/<references\/>/, '<references responsive />')
		.replace(/<references \/>/, '<references responsive />')
        .appendEditSummary('reflist format')
      }
  });
   	pathoschild.TemplateScript.add({
	  name:'Studio parameter',
	  script: function(editor) {
      editor
		.replace(/\| Recorded/, '| Studio')
        .appendEditSummary('added studio parameter')
      }
  });
  	pathoschild.TemplateScript.add({
	  name:'nobold Various',
	  script: function(editor) {
      editor
		.replace(/\|title=Various\|titlestyle\=font-weight:normal;font-size:12px;background:transparent;text-align:left\|/, '\|title\=\{{nobold|Various}}\|')
        .appendEditSummary('nobold')
      }
  });
  	pathoschild.TemplateScript.add({
	  name:'Header equal sign spacing',
	  script: function(editor) {
      editor
		.replace(/ ==/g, '==')
	    .replace(/== /g, '==')
        .appendEditSummary('cleanup')
      }
  });
  	pathoschild.TemplateScript.add({
	  name:'Pitchfork link fix',
	  script: function(editor) {
      editor
		.replace(/\[\[Pitchfork Media\]\]/gi, '\[\[Pitchfork (website)|Pitchfork\]\]')
        .appendEditSummary('Pitchfork link fix')
      }
  });
  	pathoschild.TemplateScript.add({
	  name:'Multi-Fix 2021',
	  script: function(editor) {
      editor
	     	.replace(/ ==/g, '==')
	        .replace(/== /g, '==')
			.replace(/reflist\|2/gi, 'reflist')
			.replace(/Allmusic/g, 'AllMusic')
			.replace(/>  /g, '> ')
			.replace(/"\/>  /g, '"/> ')
			.replace(/”/g, '"')
			.replace(/“/g, '"')
			.replace(/’/g, '\'')
			.replace(/‘/g, '\'')
			.replace(/{{!}} Billboard/g,'')
			.replace(/\|language=en\|/g, '\|')
			.replace(/\|language=en-US\|/g, '\|')
			.replace(/\|language=en\}\}/g, '\}\}')
			.replace(/colwidth=/g, '')
			.replace(/\ <ref/g, '\<ref')
			.replace(/{{!}} Songs, Reviews, Credits {{!}} AllMusic/g,'')
			.replace(/&#124; Songs, Reviews, Credits/g,'')
			.replace(/{{!}} Biography & History {{!}} AllMusic/,'')
			.replace(/ {{!}} Pitchfork/g,'')
        .appendEditSummary('Formatting fixes')
      }
  });
    	pathoschild.TemplateScript.add({
	  name:'Bold fix',
	  script: function(editor) {
      editor
             .replace(/;(.+)/g, '\'\'\'$1\'\'\'')
             .replace(/; (.+)/g, '\'\'\'$1\'\'\'')
        .appendEditSummary('Bold preferred over semicolon for screen reader users')
      }
  });	pathoschild.TemplateScript.add({
	  name:'Personnel capitaliziation',
	  script: function(editor) {
      editor
           .replace(/Vocals/g, 'vocals')
           .replace(/Production/g, 'production')
           .replace(/Executive Producer/g, 'executive producer')
           .replace(/Musician/g, 'musician')
           .replace(/Producer/g, 'producer')
           .replace(/Design/g, 'design')
           .replace(/Guitar/g, 'guitar')
           .replace(/Pedal/g, 'pedal')
           .replace(/Melodica/g, 'melodica')
           .replace(/Pump/g, 'pump')
           .replace(/Engineer/g, 'engineer')
           .replace(/Vibraphone/g, 'vibraphone')
           .replace(/Mix/g, 'mix')
           .replace(/Assistant/g, 'assistant')
           .replace(/Drums/g, 'drums')
           .replace(/Bass/g, 'bass')
           .replace(/Management/g, 'management')
           .replace(/Make/g, 'make')
           .replace(/Programming/g, 'programming')
           .replace(/Mastering/g, 'mastering')
           .replace(/Trumpet/g, 'trumpet')
           .replace(/Piano/g, 'piano')
          .replace(/Sample Clearance/g, 'sample clearance')
          .replace(/Scratching/g, 'scratching')
          .replace(/Featured Artist/g, 'featured artist')
          .replace(/Illustration/g, 'illustration')
           .replace(/Percussion/g, 'percussion')
            .replace(/Keyboard/g, 'keyboard')
            .replace(/Album/g, 'album')
            .replace(/Cover/g, 'cover')
            .replace(/Lead/g, 'lead')
            .replace(/Tromb/g, 'tromb')
            .replace(/Arran/g, 'arran')
            .replace(/Violin/g, 'violin')
            .replace(/Viola/g, 'viola')
            .replace(/Synthesizer/g, 'synthesizer')
            .replace(/Conga/g, 'conga')
            .replace(/Recording/g, 'recording')
            .replace(/Conductor/g, 'conductor')
            .replace(/Cello/g, 'cello')
            .replace(/Double Bass/g, 'double bass')
            .replace(/Organ/g, 'organ')
            .replace(/Fiddle/g, 'fiddle')
            .replace(/Steel/g, 'steel')
            .replace(/Tuba/g, 'tuba')
            .replace(/Bongo/g, 'bongo')
            .replace(/Back/g, 'back')
            .replace(/String/g, 'string')
            .replace(/Horn/g, 'horn')
            .replace(/Art/g, 'art')
            .replace(/Direct/g, 'direct')
            .replace(/Photo/g, 'photo')
            .replace(/Voice/g, 'voice')
            .replace(/Coach/g, 'coach')
            .replace(/Hair/g, 'hair')
            .replace(/Coord/g, 'coord')
            .replace(/Image/g, 'image')
            .replace(/Sax/g, 'sax')
            .replace(/Clap/g, 'clap')
        .appendEditSummary('capitalization per [[WP:MOSALBUM]]')
      }
  });
  	pathoschild.TemplateScript.add({
	  name:'All songs italicize fix test',
	  script: function(editor) {
      editor
	.replace(/''(.+)''/g, '$1')
	.replace(/All songs/, 'All tracks')
	.replace(/''All compositions/, 'All tracks')
	.replace(/except as noted/, 'except where noted')
	.replace(/except where otherwise stated/, 'except where noted')
	.replace(/unless otherwise stated/, 'except where noted')
	.replace(/unless otherwise noted/, 'except where noted')
	.appendEditSummary('Unnecessary italics')
      }
  });
  	pathoschild.TemplateScript.add({
	  name:'div col fix',
	  script: function(editor) {
      editor
	.replace(/{{[Dd]iv col\|2}}/g, '{{Div col\|\|35em}}')
	.replace(/{{[Dd]iv col}}/g, '{{Div col\|\|35em}}')
		.appendEditSummary('replaced deprecated div col parameter')
      }
  });
  pathoschild.TemplateScript.add({
	  name:'Small fix',
	  script: function(editor) {
      editor
	.replace(/<small>/g, '{{small\|')
	.replace(/<\/small>/g, '}}')
	.replace(/<sup>/g, '{{sup\|')
	.replace(/<\/sup>/g, '}}')
		.appendEditSummary('Small/sup reformat')
      }
  });
    window.pathoschild.TemplateScript.add({
	  name:'Italics fix',
	  script: function(editor) {
      editor
	.replace(/'''s/g, '\'\'{{\'\}}s')
		.appendEditSummary('Italics fix')
      }
  });
});