Jump to content

User:Vanderdecken/monobook.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.
importScript('User:VoA/monobook.js');

//[[Category:Wikipedians who use RC script]]

/**** afd helper ****/
document.write('<script type="text/javascript"' +
  'src="http://en.wikipedia.org/w/index.php?title=User:Jnothman/afd_helper/' +
  'script.js&action=raw&ctype=text/javascript&dontcountme=s"></script>');

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

/* <pre> [[User:DStoykov/defaultsort.js]] <nowiki> */

function defaultsort() {
//var apiurl = mw.config.get('wgServer')+mw.config.get('wgScriptPath')+'/api.php?action=query&meta=siteinfo&siprop=namespaces&format=xml';
//var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : null;
//xmlhttp.open('GET',apiurl, false);
//xmlhttp.send(null);
//alert(xmlhttp.responseXML.getElementById('14'));

    var txt = document.editform.wpTextbox1.value;
    var sortkey = '';
    // Create an array of all category links
    if (txt.match(/\{\{\s*defaultsort/i)) {
        alert('There\'s already a defaultsort statement!');
        return;
    } 
    var catlinks = txt.match(/\[\[\s*((C|K)at(e|e)gor(y|i|ie|ia|ia|ija|io)|Кат(е|э)гор(ия|ија|ія|ыя)|Luokka|Flokkur)\s*:.*\]\]/ig);
    if (!catlinks) {
        alert('There are no category links!');
        return;
    } 
    for (i=0; i< catlinks.length; i++) {
        // Extract the name of the category
        var catname = catlinks[i].replace(/.+\s*:\s*([^|]*[^|\s])\s*(\|.*)?\]\]/,"$1");
        // Extract the sort key 
        var match = /\|[^\]]+/.exec(catlinks[i]);
        if (match == null) {
	          alert('Category '+catname+' doesn\'t include a sort key!'); 
            return;
        }
        // Strip the '|' and any trailing spaces
        var sk = match[0].replace(/\|(.+)/, "$1").replace(/(\S) +$/,"$1");
        if (i == 0) {
            sortkey = sk;
        } else {
            if (sortkey != sk) {
                alert('Not all sort keys are identical!\nThe sort key for category '+catname+' is different.');
                return;
            }
        }
    }
    // Now that we know that everything is OK, we can proceed with modifying the content of the editbox
    txt = txt.replace(catlinks[0], "{{DEFAULTSORT:"+sortkey+"}}\n"+catlinks[0]);
    for (i=0; i< catlinks.length; i++) {
        subst = catlinks[i].replace(/\|[^\]]+/,"");
        txt = txt.replace(catlinks[i], subst);
    }
    document.editform.wpTextbox1.value=txt;
}

addOnloadHook(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-cactions', 'javascript:defaultsort()', 'defaultsort', 'ca-defaultsort', '', '', document.getElementById('ca-purge'));
  }
});

/* </nowiki></pre> */

/* <pre> */

 function welcome() {

   // Find the edit box
   var txt = document.editform.wpTextbox1;

   //The welcome *template* you want to use, modified to be Welcomeh, edit summary Welcome! and no watch
   var welcome_template = 'welcomeh';
   var welcome_summary  = 'Welcome!';
   var welcome_watch    = false;

   // The tag to be included is a welcome message
   var tag = '{{subst:'+ welcome_template +'}}';

   // If the edit box doesn't already have this tag...
   if (txt.value.indexOf(tag) == -1) {

     // Append the tag
     txt.value += tag;

     // Add an edit summary
     document.editform.wpSummary.value     = welcome_summary;
     document.editform.wpWatchthis.checked = welcome_watch;

     // Press the Save page button
     document.editform.submit();
   } 

   // If the tag was already there, turn the tab background red to indicate 
   // that the script is functioning properly, but that there is no action 
   // to do.  This doesn't interrupt the user's work like an alert() would.
   else {
     document.getElementById('ca-unverified').firstChild.style.backgroundColor = "#ff4444";
     document.getElementById('ca-unverified').style.backgroundColor            = "#ff4444";
   }
 }

// Create a tab that calls this function when pressed
// Create a tab that calls this function when pressed
addOnloadHook(
  function () 
  {
    if(document.title.indexOf("Editing User talk:") == 0) 
    {
      mw.util.addPortletLink('p-cactions', 'javascript:welcome()', 'wg', 'ca-welcome', 'Adds a welcome note to a new user', '', '');
    }
  }
);

/* This is to keep track of who is using this extension: [[User:Flex/welcome_newuser.js]] */

/* </pre> */

importScript('User:Superm401/Compare link.js');
importScript('User:Quarl/util.js');
importScript('User:Quarl/wikipage.js');
importScript('Wikipedia:WikiProject User scripts/Scripts/Add LI menu');
importStylesheet('Wikipedia:WikiProject User scripts/Scripts/Add LI menu/css');
importScript('User:AzaToth/twinkle.js');
importScript('Wikipedia:WikiProject Deletion sorting/delsort.js');
importScript('User:Ioeth/friendly.js');

if( typeof( TwinkleConfig ) == 'undefined' ) TwinkleConfig = {}; // DO NOT REMOVE THIS LINE - ALL TWINKLE SETTINGS AFTER THIS
TwinkleConfig.userTalkPageMode				=	'tab';
if( typeof( FriendlyConfig ) == 'undefined' ) FriendlyConfig = {}; // DO NOT REMOVE THIS LINE - ALL FRIENDLY SETTINGS AFTER THIS
FriendlyConfig.quickWelcomeMode		=	"semiauto";
FriendlyConfig.quickWelcomeTemplate		=	"Welcomeh";