User:Jdrowlands/monobook.js: Difference between revisions

From the Super Mario Wiki, the Mario encyclopedia
Jump to navigationJump to search
No edit summary
(Undo revision 1110258 by Jdrowlands (talk))
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
  /* <pre> <nowiki> */  
  /* <pre> <nowiki> */
/* WikEd text editor */
/* WikEd text editor */
document.write('<script type="text/javascript" src="'
document.write('<script type="text/javascript" src="'
Line 5: Line 5:
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');


var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();


/* Twinkle */
importScript('http://en.wikipedia.org/wiki/User:AzaToth/twinkle.js');


function addTab(id, after, caption, url) {
/** Title rewrite ********************************************************
if (!document.getElementById(id)) {
* Rewrites the page's title, used by [[Template:Title]]
var edit = document.getElementById(after);
* Credits to Uncyclopedia's Sikon
if (!edit) return; //If the previous tab doesn't exist, don't add this one
*/
var editparent = edit.parentNode;
var aseclinkcaption = document.createTextNode(caption)
var aseclink = document.createElement('a');
aseclink.setAttribute('href',url);
var addsectionlinkcaption = aseclink.appendChild(aseclinkcaption);
var asec = document.createElement('li');
asec.setAttribute('id',id);
var addsectionlink = asec.appendChild(aseclink);
var addsection = editparent.insertBefore(asec,edit.nextSibling);
}
}
//source: http://en.wikipedia.org/wiki/User:Flex/welcome_newuser.js
function welcome() {


// Find the edit box
function rewriteTitle()
var txt = document.editform.wpTextbox1;
{
 
if(typeof(SKIP_TITLE_REWRITE) != 'undefined' && SKIP_TITLE_REWRITE)
//The welcome *template* you want to use
return;
var welcome_user = 'Jdrowlands';
var welcome_summary  = 'Welcome';
var welcome_watch    = false;


var tag = '{{welcome|'+ welcome_user +'}}';
var titleDiv = document.getElementById('title-meta');


if (txt.value.indexOf(tag) == -1) {
if(titleDiv == null || titleDiv == undefined)
return;


txt.value += tag;
var cloneNode = titleDiv.cloneNode(true);
var firstHeading = getElementsByClass('firstHeading', document.getElementById('content'), 'h1')[0];
var node = firstHeading.childNodes[0];


document.editform.wpSummary.value    = welcome_summary;
// new, then old!
document.editform.wpWatchthis.checked = welcome_watch;
firstHeading.replaceChild(cloneNode, node);
cloneNode.style.display = "inline";


document.editform.submit();
var titleAlign = document.getElementById('title-align');
}
firstHeading.style.textAlign = titleAlign.childNodes[0].nodeValue;
else {
document.getElementById('ca-unverified').firstChild.style.backgroundColor = "#ff4444";
document.getElementById('ca-unverified').style.backgroundColor            = "#ff4444";
}
}
addOnloadHook(
function ()
{
if(document.title.indexOf("Editing User talk:") == 0)
{
addPortletLink('p-cactions', 'javascript:welcome()', 'welcome', 'ca-welcome', 'Adds a welcome note to the new user', '', '');
}
}
}
);
// [[user:Where/usertabs]]
// This is a good one!
addOnloadHook(function() {
  if (wgTitle.indexOf("/") != -1 || document.title.indexOf("- History -") != -1)  //no subpages or history
    return;
  if (wgCanonicalNamespace == "User" || wgCanonicalNamespace == "User_talk") {
    var username = encodeURIComponent( wgTitle );
    addPortletLink("p-cactions", wgServer + "/Special:Contributions/" + username, "Edits", "ca-contrib", "User contributions");
    addPortletLink("p-cactions", "/index.php?title=Special:EditCount&target="+ username + "&doeditcount=Show+count", "Edit count", "ca-editcount", "Get this user's edit count.");
    addPortletLink("p-cactions", wgServer + "/index.php?title=Special:Log&type=move&user=" + username, "Moves", "ca-pagemoves", "Page moves by this user");
    addPortletLink("p-cactions", wgServer + "/index.php?title=Special:Log&type=block&page=User:" + username, "Blocks", "ca-blog", "Blocks received by this user");
    addPortletLink("p-cactions", wgServer + "/index.php?title=Special:Prefixindex&from=" + username + "&namespace=2", "Userspace", "", "List of pages in this user's userspace");
    addPortletLink("p-cactions", wgServer + "/index.php?title=Special:Log&type=block&user=" + username, "Block Log", "", "Blocks by this user");
    addPortletLink("p-cactions", wgServer + "/index.php?title=Special:Log&type=protect&user=" + username, "Protections", "", "Protections by this user");
    addPortletLink("p-cactions", wgServer + "/index.php?title=Special:Log&type=delete&user=" + username, "Deletions", "", "Deletions by this user");
  }


/*
addOnloadHook(rewriteTitle, false);
function formatRecentChanges() {
/* </nowiki> </pre> */
  /*
    * formatRecentChanges()
    * (c) Tim Laqua, 2007 (http://en.wikipedia.org/wiki/User:Tim_Laqua/Scripts/formatRecentChanges.js)
    */
  if (wgCanonicalNamespace == 'Special' && wgCanonicalSpecialPageName == 'Recentchanges' ) {
    var colorPrimaryRow = '#77beea';
    var colorAltRow = '#82b9e6';
    var colorPatrolledRow = '#77beea';
    var colorHeaderRow = '#67aeca';
    var colorFooterRow = '#67aeca';
    var columns = '7';
    var colUL = document.getElementsByTagName('ul');
    if ( colUL.length > 0 ) {
      var tableWrapper = document.createElement('table');
      var tableNode = document.createElement('tbody');
      tableWrapper.width = '100%';
      var contentDiv = document.getElementById('content');
      contentDiv.appendChild(tableWrapper);
      tableWrapper.appendChild(tableNode);
      for(var i=0; i<colUL.length; i++) {
        if (colUL[i].className == 'special') {
          var altRow = false;
          var nodeListHeading = document.getElementsByTagName('h4')[0];
          var rowHeading = document.createElement('tr');
          var cellHeading = document.createElement('td');
          cellHeading.appendChild(nodeListHeading);
          cellHeading.colSpan = columns;
          rowHeading.appendChild(cellHeading);
          rowHeading.style.backgroundColor = colorHeaderRow;
          tableNode.appendChild(rowHeading);
          var colLI = colUL[i].getElementsByTagName('li');
          for(var j=0; j<colLI.length; j++) {
            var minor = false;
            var bot = false;
            var unpatrolled = false;
            var newpage = false;
            var rowNode = document.createElement('TR');
            var flagNode = document.createElement('TD');
            flagNode.style.whiteSpace = 'nowrap';
            var changedNode = document.createElement('TD');
            changedNode.style.whiteSpace = 'nowrap';
            changedNode.style.textAlign = 'right';
            var messageNode = document.createElement('TD');
            //var colSPAN = colLI[j].getElementsByTagName('span');
            var colSPAN = colLI[j].childNodes;
            for(var k=0; k < colSPAN.length; k++) {
              if (colSPAN[k].nodeType == 1) {
                switch (colSPAN[k].className.toLowerCase()) {
                  case 'mw-plusminus-neg':
                    //add to changedNode
                    changedNode.appendChild(colSPAN[k--]);
                    break;
                  case 'mw-plusminus-null':
                    //add to changedNode
                    changedNode.appendChild(colSPAN[k--]);
                    break;
                  case 'mw-plusminus-pos':
                    //add to changedNode
                    changedNode.appendChild(colSPAN[k--]);
                    break;
                  case 'unpatrolled':
                    //add to flagNode
                    unpatrolled = true;
                    flagNode.appendChild(colSPAN[k--]);
                    break;
                  case 'minor':
                    //add to flagNode
                    minor = true;
                    flagNode.appendChild(colSPAN[k--]);
                    break;
                  case 'newpage':
                    //add to flagNode
                    newpage = true;
                    flagNode.appendChild(colSPAN[k--]);
                    break;
                  case 'bot':
                    //add to flagNode
                    bot = true;
                    flagNode.appendChild(colSPAN[k--]);
                    break;
                  case 'comment':
                    //add to messageNode
                    messageNode.appendChild(colSPAN[k--]);
                    break;
                  default:
                    //do nothing
                }
              }
            }
            //check for unpatrolled flag
            if (unpatrolled) {
              rowNode.style.backgroundColor = colorPatrolledRow;
            } else {
              if (altRow) {
                rowNode.style.backgroundColor = colorAltRow;
              } else {
                rowNode.style.backgroundColor = colorPrimaryRow;
              }
            }
            altRow = altRow ? false : true;
            var regexp = /; (\d\d:\d\d)/i;
            var colMatches = colLI[j].innerHTML.match(regexp);
            var time = colMatches[1];
            var cleanText = colLI[j].innerHTML.replace(regexp,'');
            var arrLI = cleanText.split(' . . ');
            var timeNode = document.createElement('TD');
            timeNode.innerHTML = time;
            timeNode.style.whiteSpace = 'nowrap';
            var contextNode = document.createElement('TD');
            contextNode.innerHTML = arrLI[0];
            contextNode.style.whiteSpace = 'nowrap';
            var titleNode = document.createElement('TD');
            //titleNode.style.whiteSpace = 'nowrap';
            var nameNode = document.createElement('TD');
            nameNode.style.whiteSpace = 'nowrap';
            if (arrLI.length == 4) {
              //standard entry
              titleNode.innerHTML = arrLI[1];
              nameNode.innerHTML = arrLI[3];
            } else if (arrLI.length == 2) {
              //log message - append fragment to message node
              nameNode.innerHTML = arrLI[1];
            }
            if (changedNode.firstChild) {
              changedNode.firstChild.innerHTML =
                changedNode.firstChild.innerHTML.replace(/(^\s*\()|(\)\s*$)/ig,'');
            }
            if (messageNode.firstChild) {
              messageNode.firstChild.innerHTML =
                messageNode.firstChild.innerHTML.replace(/(^\s*\()|(\)\s*$)/ig,'');
            }
            rowNode.appendChild(timeNode);
            rowNode.appendChild(contextNode);
            rowNode.appendChild(flagNode);
            rowNode.appendChild(titleNode);
            rowNode.appendChild(messageNode);
            rowNode.appendChild(nameNode);
            rowNode.appendChild(changedNode);
            tableNode.appendChild(rowNode);
          }
          colUL[i].parentNode.removeChild(colUL[i--]);
        }
      }
    }
  }
}
/* </nowiki></pre> */

Latest revision as of 07:53, August 4, 2011

 /* <pre> <nowiki>  */
/* WikEd text editor */
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

var hasClass = (function () {
var reCache = {};
return function (element, className) {
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className);
};
})();

/* Twinkle */
importScript('http://en.wikipedia.org/wiki/User:AzaToth/twinkle.js');

/** Title rewrite ********************************************************
* Rewrites the page's title, used by [[Template:Title]]
* Credits to Uncyclopedia's Sikon
*/

function rewriteTitle()
{
if(typeof(SKIP_TITLE_REWRITE) != 'undefined' && SKIP_TITLE_REWRITE)
return;

var titleDiv = document.getElementById('title-meta');

if(titleDiv == null || titleDiv == undefined)
return;

var cloneNode = titleDiv.cloneNode(true);
var firstHeading = getElementsByClass('firstHeading', document.getElementById('content'), 'h1')[0];
var node = firstHeading.childNodes[0];

// new, then old!
firstHeading.replaceChild(cloneNode, node);
cloneNode.style.display = "inline";

var titleAlign = document.getElementById('title-align');
firstHeading.style.textAlign = titleAlign.childNodes[0].nodeValue;
}

addOnloadHook(rewriteTitle, false);
/* </nowiki> </pre> */