User:HorsePunchKid/monobook.js
Jump to navigation
Jump 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.
/////////////////////////////////////////////////////////////////////////////////
// [[User:Lupin/popups.js]] - please include this line
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
popupDelay=2.0;
simplePopups=true;
window.onload = Main;
function Main() {
//changelinks();
//addtoolboxlinks()
//addpurge();
morelinks();
//LivePreviewInstall();
document.getElementById("ca-talk").removeAttribute("acccesskey");
document.getElementById("ca-unwatch").removeAttribute("acccesskey");
}
function replace() {
var s = prompt("Search regexp?");
if(s) {
var r = prompt("Replace regexp?");
if(!r && r != '') return;
var txt = document.editform.wpTextbox1;
txt.value = txt.value.replace(new RegExp(s, "g"), r);
}
}
//<nowiki>
function morelinks() {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if(document.title.indexOf("Editing ") == 0)
{
addlilink(tabs, 'javascript:replace()', 'replace', '');
addlilink(tabs, "javascript:insertTags(' <span class=\"user-sig user-horsepunchkid\">~~~ <span class=\"user-sig-date\">[["+getISO8601Date()+"]] "+getISO8601Time()+"[[ISO 8601|Z]]</span></span>','','')", 'sign', 's');
document.getElementById("wpSave").removeAttribute("acccesskey");
}
}
//</nowiki>
function getISO8601Date() {
var d=new Date();
return(""+d.getUTCFullYear()+"-"+(d.getUTCMonth()<10?"0":"")+d.getUTCMonth()+"-"+(d.getUTCDate()<10?"0":"")+d.getUTCDate());
}
function getISO8601Time() {
var d=new Date();
return(""+(d.getUTCHours()<10?"0":"")+d.getUTCHours()+":"+(d.getUTCMinutes()<10?"0":"")+d.getUTCMinutes()+":"+(d.getUTCSeconds()<10?"0":"")+d.getUTCSeconds());
}
/////////////////////////////////////////////////////////////////////////////////
// Wikipedia:WikiProject User scripts/Scripts/Changes since I last edited
function addSinceTab()
{
var tabs=document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if (window.location.href.indexOf("&action=history&gotosince=true")!=-1)
do_since_I_last_edited();
else if (!/wiki\/Special:|w\/index.php?title=Special:/.test(window.location.href))
{
var pageTitle=document.title.slice(0, String(document.title).indexOf(" - "));
var l=addlilink(tabs, "/w/index.php?title="+pageTitle+"&action=history&gotosince=true", 'since', '');
l.lastChild.title="Changes since I last edited";
}
}
function do_since_I_last_edited()
{
var csub=document.getElementById("contentSub");
var msg=document.createElement("p");
msg.appendChild(document.createTextNode("Parsing history, please wait..."));
msg.className="error";
csub.insertBefore(msg, csub.firstChild);
var username=document.getElementById("pt-userpage").textContent;
var users=getElementsByClass(document, "history-user", "span");
for(i=0;i<users.length;i++)
{
if(users[i].textContent==username)
{
document.location=users[i].parentNode.childNodes[1].href;
return;
}
}
msg.replaceChild(document.createTextNode("You have not edited this page recently."), msg.firstChild);
}
if (window.addEventListener) window.addEventListener("load", addSinceTab, false);
else if (window.attachEvent) window.attachEvent("onload", addSinceTab);
/////////////////////////////////////////////////////////////////////////////////
// Helper function; see Wikipedia:WikiProject User scripts/Scripts/Add LI link
function addlilink(tabs, url, name, id, title, key)
{
var na=document.createElement('a');
na.href=url;
na.appendChild(document.createTextNode(name));
var li=document.createElement('li');
if(id) li.id=id;
li.appendChild(na);
tabs.appendChild(li);
if(id)
{
if(key && title) ta[id]=[key, title];
else if(key) ta[id]=[key, ''];
else if(title) ta[id]=['', title];
}
// re-render the title and accesskeys from existing code in wikibits.js
akeytt();
return(li);
}
/////////////////////////////////////////////////////////////////////////////////
// http://www.dustindiaz.com/getelementsbyclass
function getElementsByClass(node,searchClass,tag) {
var classElements = new Array();
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}