User:Fox/monobook.js
From Guild Wars Wiki
< User:Fox
Jump to navigationJump to search
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.
// Lupin's popups, [http://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups] document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); popupUseQueryInterface=false; function siteArticlePath(){ return 'wiki'; } function siteBotInterfacePath(){ return ''; } popupRevertSummary='Auto-reverting to previous revision using [[popups]]; this one is either spam or vandalism.'; // inserting addPortletLink. For some reason this isn't in wikibits.js function addPortletLink(portlet, href, text, id, tooltip, accesskey, nextnode) { var node = document.getElementById(portlet); if ( !node ) return null; node = node.getElementsByTagName( "ul" )[0]; if ( !node ) return null; var link = document.createElement( "a" ); link.appendChild( document.createTextNode( text ) ); link.href = href; var item = document.createElement( "li" ); item.appendChild( link ); if ( id ) item.id = id; if ( accesskey ) { link.setAttribute( "accesskey", accesskey ); tooltip += " ["+accesskey+"]"; } if ( tooltip ) { link.setAttribute( "title", tooltip ); } if ( accesskey && tooltip ) { updateTooltipAccessKeys( new Array( link ) ); } if ( nextnode && nextnode.parentNode == node ) node.insertBefore( item, nextnode ); else node.appendChild( item ); // IE compatibility (?) return item; } // preset summary descriptions for wikEd; must always be before the code that installs wikEd var wikEdComboPresetOptions = []; wikEdComboPresetOptions['summary'] = [ 'reply', 'wall of text', 'cleanup', 'minor cleanup', 'linkfix', 'fixing typos', 'adding del tag', 'adding copyvio tag', 'adding admin review tag', 'reverting vandalism', 'reverting blanking', 'reverting silliness' ]; // installs [http://en.wikipedia.org/wiki/User:Cacycle/wikEd wikEd], an in-browser text editor // with wiki syntax highlighting 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>'); // adds a "last" tab that shows a diff of the cur and prev versions of the page function addLastDiff() { addPortletLink('p-cactions', 'http://wiki.guildwars.com/index.php?title=' + wgPageName + "&diff=cur&oldid=prev", 'last', 'ca-last', 'Show most recent diff'); } addOnloadHook(addLastDiff); // installs extra user tabs: Contribs, Page Moves, Uploads, Userspace 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", "http://wiki.guildwars.com/wiki/Special:Contributions/" + username, "Contribs", "ca-contrib", "User contributions"); addPortletLink("p-cactions", "http://wiki.guildwars.com/index.php?title=Special%3ALog&type=move&user=" + username, "Page moves", "ca-pagemoves", "Page moves by this user"); addPortletLink("p-cactions", "http://wiki.guildwars.com/index.php?title=Special%3ALog&type=upload&user=" + username, "Uploads", "ca-uploads", "Files uploaded by this user"); addPortletLink("p-cactions", "http://wiki.guildwars.com/index.php?title=Special%3APrefixindex&from=" + username + "&namespace=2", "Userspace", "", "List of pages in this user's userspace"); } }); // Makes the Watchlist actually usable. Groups each day's updated entries by their respective namespaces. addOnloadHook(function (){ if (location.href.indexOf('Special:Watchlist') == -1) return; //days = document.getElementById('bodyContent').getElementsByTagName('ul'); days = document.evaluate( "//ul[@class='special']", document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for (d = 0; d < days.snapshotLength; d++) { day = days.snapshotItem(d); newday = document.createElement('ul'); while ((diffs = day.getElementsByTagName('li')).length > 0) { //Try to extract the namespace As = diffs[0].getElementsByTagName('a'); if (As[0].innerHTML == 'diff') pagename = As[2].innerHTML; else pagename = As[1].innerHTML; if (pagename.indexOf(':') == -1) namespace = 'Main'; else namespace = pagename.split(':')[0]; hdrs = newday.getElementsByTagName('h5'); hdr = null; for (j=0; j<hdrs.length; j++) if (hdrs[j].innerHTML==namespace) { hdr = hdrs[j]; break; } if (hdr==null) { hdr = document.createElement('h5'); hdr.innerHTML = namespace; newday.appendChild(hdr); namespacesub = document.createElement('ul'); newday.appendChild(namespacesub); } hdr.nextSibling.appendChild(diffs[0]); } newday.appendChild(document.createElement('hr')); day.parentNode.replaceChild(newday,day); } });