User:Ckatz/modern.js
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.
// [[User:Henrik/sandbox/google-search]] (please include this line)
function install_search()
{
document.getElementById('searchBody').innerHTML='<div>'+
'<FORM method=get action="http://www.google.ca/search">'+
'<input type=hidden name="ie" value="UTF-8" /><input type=hidden name="oe" value="UTF-8" />'+
'<INPUT id="searchInput" name="q" type="text" accesskey="f" value="" />'+
'<input type="hidden" name="domains" value="en.wikipedia.org" />'+
'<input type=radio name=sitesearch value="">Web'+
'<input type=radio name=sitesearch value="en.wikipedia.org" checked />WP'+
'<INPUT type="submit" name="btnG" VALUE="Google Search" /></FORM></div>';
}
addOnloadHook(install_search);
// [[User:Lupin/popups.js]]
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>');
// Script from [[User:Lupin/recent2.js]]
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Lupin/recent2.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
//Interiot's javascript edit counter
if (document.title.indexOf('User:Interiot/Tool2/code.js') != -1) {
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Interiot/Tool2/code.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); }
//Create 'winc' function:
function winc(s) {
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=' + s
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
}
//function to handle dates:
winc('User:Bobblewik/monobook.js/dates.js');
//function to handle units:
winc('User:Bobblewik/monobook.js/unitformatter.js');
//function to handle solitary days of the week and solitary months:
winc('User:Bobblewik/monobook.js/datebits.js');
// This will add an [edit top] link at the top of all pages except preview pages
// by User:Pile0nades
// Add an [edit top] link to pages
addOnloadHook(function () {
// if this is preview page or generated page, stop
if(document.getElementById("wikiPreview") || window.location.href.indexOf("/wiki/Special:") != -1) return;
// get the page title
var pageTitle = document.title.split(" - ")[0].replace(" ", "_");
// create div and set innerHTML to link
var divContainer = document.createElement("div");
divContainer.innerHTML = '<div class="editsection" style="float:right;margin-left:5px;margin-right:15px;margin-top:3px;">[<a href="/w/index.php?title='+pageTitle+'&action=edit§ion=0" title="'+document.title.split(" - ")[0]+'">edit top</a>]</div>';
// insert divContainer into the DOM before the h1
if(window.location.href.indexOf("&action=edit") == -1)
document.getElementById("content").insertBefore(divContainer, document.getElementsByTagName("h1")[0]);
if(window.location.href.indexOf("&action=edit§ion=0") != -1)
document.getElementById("wpSummary").value = "/* Intro */ ";
});
// inline style sheet to keep this whole thing self-contained:
document.write('<style type="text/css">' +
' .xdiff { width: 100%; background: white; }' +
' .xdiff-row { width: 100%; margin: 0 0 3px 0; overflow: hidden; }' +
' .xdiff-col { width: 49%; margin: 0; float: left; clear: none; position: relative; }' +
' .xdiff-sign, .xdiff-outer, .xdiff-inner { display: block; margin: 0; }' +
' .xdiff-sign { position: absolute; top: 0; left: 0; width: 2em; text-align: center; }' +
' .xdiff-outer { padding: 0 0 0 2em; }' +
' .xdiff-inner { overflow: auto; overflow-y: visible; width: 100%; }' +
' .xdiff-inner.diff-addedline { font-size: 85%; background: #cfc; }' +
' .xdiff-inner.diff-deletedline { font-size: 85%; background: #ffa; }' +
' .xdiff-inner.diff-context { font-size: 85%; background: #eee; }' +
(!document.recalc ? '' : // IE kluge:
' * html .xdiff-inner { padding-bottom: expression(this.scrollWidth > this.offsetWidth ? "16px" : 0); }' +
' * html .xdiff-sign { top: expression((this.parentNode.clientHeight - this.offsetHeight)/2 + "px"); }') +
'<'+'/style>');
if (false) addOnloadHook(function () { // OBSOLETE!!!
var diffSigns = new Array();
var fixDiffWidth = function () {
var tables = document.getElementsByTagName('table');
for (var i = 0; i < tables.length; i++) {
if (tables[i].className != 'diff') continue;
var rows = tables[i].getElementsByTagName('tr');
var diffDiv = document.createElement('div');
diffDiv.className = 'xdiff';
for (var j = 0; j < rows.length; j++) {
var rowDiv = document.createElement('div');
rowDiv.className = 'xdiff-row';
var colDiv = null;
var cols = rows[j].getElementsByTagName('td');
for (var k = 0; k < cols.length; k++) {
if (!colDiv) {
colDiv = document.createElement('div');
colDiv.className = 'xdiff-col';
rowDiv.appendChild(colDiv);
}
if (cols[k].getAttribute('colspan') == 2 || cols[k].className.substring(0,5) == 'diff-') {
// use spans instead of divs so that an eventual non-js solution will look nice in lynx!
var outerSpan = document.createElement('span');
var innerSpan = document.createElement('span');
outerSpan.className = 'xdiff-outer';
innerSpan.className = 'xdiff-inner ' + cols[k].className;
innerSpan.style.textAlign = cols[k].getAttribute('align');
for (var node = cols[k].firstChild; node; node = node.nextSibling)
innerSpan.appendChild(node.cloneNode(true));
innerSpan.appendChild(document.createTextNode(String.fromCharCode(0xa0))); // add nbsp
outerSpan.appendChild(innerSpan);
colDiv.appendChild(outerSpan);
colDiv = null; // start new column
}
else if (cols[k].firstChild && (cols[k].firstChild.nextSibling ||
cols[k].firstChild.nodeType != 3 || cols[k].firstChild.nodeValue.match(/\S/))) {
// use spans instead of divs so that an eventual non-js solution will look nice in lynx!
var signSpan = document.createElement('span');
signSpan.className = 'xdiff-sign';
if (!signSpan.style.setExpression)
diffSigns[diffSigns.length] = signSpan;
for (var node = cols[k].firstChild; node; node = node.nextSibling)
signSpan.appendChild(node.cloneNode(true));
colDiv.appendChild(signSpan);
}
}
diffDiv.appendChild(rowDiv);
}
tables[i].parentNode.replaceChild(diffDiv, tables[i]);
}
};
// finally, a kluge to vertically center the +/- signs
var centerDiffSigns = function () {
for (var i = 0; i < diffSigns.length; i++) {
var parentHeight;
if (!( parentHeight = diffSigns[i].parentNode )) continue;
if (!( parentHeight = parentHeight.clientHeight )) continue;
diffSigns[i].style.top = ((parentHeight - diffSigns[i].offsetHeight)/2) + "px";
}
};
fixDiffWidth();
if (diffSigns.length) {
hookEvent('resize', centerDiffSigns);
setTimeout(centerDiffSigns, 250);
}
});
//
// This script adds an "unwatch" link to each entry in your watchlist. From [[User:Ilmari Karonen/unwatch.js]] and [[Wikipedia:WikiProject_User_scripts/Scripts/Unwatch]]<pre><nowiki>
addOnloadHook(function () {
// Check if we're on the watchlist
if (!wgCanonicalSpecialPageName || wgCanonicalSpecialPageName != "Watchlist") return;
if (!document.forms[0] || !document.forms[0].namespace) return;
// Unwatch links go back to watchlist with "Removing requested items from watchlist..." message
//var query_prefix = "title="+encodeURIComponent(wgPageName)+"&action=submit&remove=1&id[]=";
// ...or...
// Unwatch links go to "Removed from watchlist" page
var query_prefix = "action=unwatch&title=";
// get list of all links in content:
var links = document.getElementById('content').getElementsByTagName('a');
// make a static copy of the nodelist and lose the original for speed
// while we're at it, prune the uninteresting links from the list
var linksCopy = new Array ();
for (var i = 0; i < links.length; i++) {
if (/[?&]action=history([&#]|$)/.test(links[i].href)) linksCopy.push(links[i]);
}
links = linksCopy;
for (var i = 0; i < links.length; i++) {
// create unwatch link and append it after history link
var unwatch = document.createElement('a');
unwatch.href = wgServer + wgScriptPath + "/index.php?" + query_prefix + encodeURIComponent(links[i].title);
unwatch.title = "Unwatch "+links[i].title;
// unwatch.appendChild(document.createTextNode("unwatch"));
// Make it just say "un" instead:
unwatch.appendChild(document.createTextNode("un"));
links[i].parentNode.insertBefore(unwatch, links[i].nextSibling);
// insert a delimiter between the two links
var delim = links[i].previousSibling;
delimText = (delim.nodeType == 3 ? delim.nodeValue : ""); // kluge to handle case where "diff" is unlinked
delim = document.createTextNode(delimText.replace(/^.*diff/, ""));
links[i].parentNode.insertBefore(delim, unwatch);
}
});
// </nowiki></pre>
// Script from [[User:Lupin/editcount.js]]
importScript('User:Lupin/editcount.js'); //[[User:Lupin/editcount.js]]
popupEditCounterTool='custom';
popupEditCounterUrl='http://en.wikipedia.org/wiki/User:$1?ectarget=$1';
//Adding Twinkle (Wikipedia:WikiProject User scripts/Scripts/Twinkle)
importScript('User:AzaToth/twinkle.js');
TwinkleConfig = {
revertMaxRevisions : 50,
userTalkPageMode : 'tab',
showSharedIPNotice : false,
openTalkPage : [ 'agf', 'norm', 'vand' ],
openTalkPageOnAutoRevert : false,
openAOLAnonTalkPage : false,
summaryAd : "",
deletionSummaryAd : "",
protectionSummaryAd : "",
watchSpeedyPages : [ 'g3', 'g5', 'g10', 'g11', 'g12' ],
watchProdPages : true,
openUserTalkPageOnSpeedyDelete : [ 'g1', 'g2', 'g10', 'g11', 'g12', 'a1', 'a7', 'i3', 'i4', 'i5', 'i6', 'i7', 'u3', 't1' ],
watchRevertedPages : [ 'agf', 'norm', 'vand', 'torev' ],
markRevertedPagesAsMinor : [ 'agf', 'norm', 'vand', 'torev' ],
deleteTalkPageOnDelete : false,
watchWarnings : true,
markAIVReportAsMinor : true,
markSpeedyPagesAsMinor : true,
markProdPagesAsMinor : true,
confirmUsernameToAIV : true,
toolboxButtons : [ ]
};
// [[User:Jsimlo/shortcuts.js]]
document.write('<script type="text/javascript" src="'
+ 'http://en.wikipedia.org/w/index.php?title=User:Jsimlo/shortcuts.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
function shortcutsInit ()
{
shortcutsAddLink ('UWatchlist', 'User:Tra/User_watchlist');
shortcutsAddLink ('Navigation shortcuts', 'Wikipedia:Tools/Navigation shortcuts');
shortcutsAddLink ('TV episodes talk', 'Wikipedia talk:Television episodes');
shortcutsAddLink ('WikiProject TV Eps talk', 'Wikipedia talk:WikiProject Television/Episode coverage');
shortcutsAddLink ('WikiProject TV review', 'Wikipedia talk:Television article review process');
shortcutsAddLink ('Ckatz TV workspace', 'User:Ckatz/Workspace/Television');
shortcutsAddLink ('TV eps notability cat', 'Category:Episode articles not asserting notability');
shortcutsAddLink ('TV eps review', 'Wikipedia:WikiProject Television/Episode coverage/Articles for review');
}
importScript('User:Tra/userwatchlist.js'); //[[User:Tra/userwatchlist.js]]
addOnloadHook(function() {
var alinks = document.getElementsByTagName("a");
var tablink;
for (var i = 0, leng = alinks.length; i < leng; i++) {
tablink = alinks[i];
if (/\bexternal\b/.test(tablink.className) && tablink.href.indexOf("http://en.wikipedia.org") != 0)
tablink.target = "_tab";
}
});
importScript('User:AndyZ/peerreviewer.js'); //[[User:AndyZ/peerreviewer.js]]
/* <pre><nowiki> */
//Please adjust the following variables according to when you want to end your break:
var year = 2007; //YYYY
var month = 09; //MM
var day = 28; //DD
var hour = 18; //HH
var minute = 00; //MM
var second = 00; //SS
function EnforceWikiBreak() {
var currentdate = new Date();
var enforced_break_end = new Date(year,changemonth(),day,hour,minute,second);
if (currentdate > enforced_break_end) {
// alert ("Welcome back from your enforced wikibreak!");
} else {
alert ("Enforced wikibreak until " + enforced_break_end.toLocaleString() + " (currently " + currentdate.toLocaleString() + "). Bye!");
window.location.href = ("http://"+document.location.host+"/w/index.php?title=Special:Userlogout&returnto=Main_Page");
}
}
function changemonth() {
//thing to subtract 1 from the month. you can't use month-1 because it removes the '0' from the front
if(month==01) return 00;
if(month==02) return 01;
if(month==03) return 02;
if(month==04) return 03;
if(month==05) return 04;
if(month==06) return 05;
if(month==07) return 06;
if(month==08) return 07;
if(month==09) return 08;
if(month==10) return 09;
if(month==11) return 10;
if(month==12) return 11;
return 00;
}
addOnloadHook(function() { EnforceWikiBreak(); });
/* </nowiki></pre> */
if( !document.all ) {
/* Watchlist notifier ([[User:Ais523/watchlistnotifier.js]]); displays a message every time a watched page changes. */
//<pre><nowiki>
var wmwpajax;
// From [[WP:US]] mainpage (wpajax renamed to wmwpajax)
wmwpajax={
download:function(bundle) {
// mandatory: bundle.url
// optional: bundle.onSuccess (xmlhttprequest, bundle)
// optional: bundle.onFailure (xmlhttprequest, bundle)
// optional: bundle.otherStuff OK too, passed to onSuccess and onFailure
var x = window.XMLHttpRequest ? new XMLHttpRequest()
: window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP")
: false;
if (x) {
x.onreadystatechange=function() {
x.readyState==4 && wmwpajax.downloadComplete(x,bundle);
};
x.open("GET",bundle.url,true);
x.send(null);
}
return x;
},
downloadComplete:function(x,bundle) {
x.status==200 && ( bundle.onSuccess && bundle.onSuccess(x,bundle) || true )
|| ( bundle.onFailure && bundle.onFailure(x,bundle) || alert(x.statusText+': '+bundle.url));
}
};
// Example:
// function dlComplete(xmlreq, data) {
// alert(data.message + xmlreq.responseText);
// }
// wmwpajax.download({url:'http://en.wikipedia.org/w/index.php?title=Thresher&action=raw',
// onSuccess: dlComplete, message: "Here's what we got:\n\n" });
// End of [[WP:US]] quote
function wmWatchEditFound(xmlreq, data) {
var watchrev, watchsum, watchrevold, watchpage, junk;
watchrev=xmlreq.responseText.split('timestamp="')[1].split('"')[0];
if(wgPageName == "Special:Watchlist")
document.cookie="ais523wmwatchrev="+watchrev+".; path=/";
else
{
watchsum=xmlreq.responseText.split('comment="')[1].split('"')[0];
watchpage=xmlreq.responseText.split('title="')[1].split('"')[0];
try
{
watchrevold=document.cookie.split('ais523wmwatchrev=')[1].split('.')[0];
}
catch(junk) {watchrevold=0;}
watchsum=watchsum.split('<').join('<').split('>').join('>');
watchpage=watchpage.split('<').join('<').split('>').join('>');
if(watchrev!=watchrevold)
document.getElementById('contentSub').innerHTML+=
"<div class='watchlistnotify'>\""+watchpage+'" changed: "'+watchsum+'".</div>';
}
}
addOnloadHook(function() {
/* Find the top item in the watchlist, and its edit summary. We only need one item, so
set the limit to 1 to ease the load on the server. */
//if(location.href.indexOf("/wiki/")!=-1)
wmwpajax.download({url:'http://en.wikipedia.org/w/api.php?action=query&list=watchlist&wllimit=1&'+
'wldir=older&format=xml&wlprop=comment|timestamp|title', onSuccess: wmWatchEditFound});
});
// </nowiki></pre>
// [[Category:Wikipedia scripts]]
}
importScript('User:Ioeth/friendly.js');