User:Gracenotes/monobook.js
Appearance
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
The accompanying .css page for this skin is at User:Gracenotes/monobook.css. |
//if (wgNamespaceNumber == 6)
// importScript('User:Gracenotes/wpPicmark.js');
//importScript('User:Gracenotes/fixStuff.js');
//importScript('User:Gracenotes/changesSince.js');
importScript('User:Gracenotes/amelvand.js');
importScript('User:Gracenotes/rollback.js');
importScript('User:Gracenotes/console.js');
//add (cur) link on contribution pages
if (wgPageName == 'Special:Contributions' && (((lim = document.location.href.match(/[&?]limit=([^&]*)/)) && parseInt(lim[1]) < 250) || !lim)) {
addOnloadHook(function() {
var contribs = document.getElementById('bodyContent').getElementsByTagName('li');
var mainNode;
var aNode;
var links;
for (var i = 0, leng = contribs.length; i < leng; i++) {
links = contribs[i].getElementsByTagName('a');
mainNode = document.createElement('span');
mainNode.appendChild(document.createTextNode('('));
aNode = document.createElement('a');
aNode.href = links[1].href.replace('prev', 'cur');
aNode.appendChild(document.createTextNode('cur'));
mainNode.appendChild(aNode);
mainNode.appendChild(document.createTextNode(') '));
contribs[i].insertBefore(mainNode, links[2]);
}
});
}
//utility function: box() gets edit textarea value, box(text) sets it
function box(text) {
if (text) {
document.getElementById("wpTextbox1").value = text;
} else {
return document.getElementById("wpTextbox1").value;
}
}
//adds "contibs" tab to user and user talk pages
if (wgNamespaceNumber == 2 || wgNamespaceNumber == 3) {
var uname = wgPageName.match(/[^:]*:([^\/]*)/);
if (uname.length > 1)
addOnloadHook(function() {
mw.util.addPortletLink("p-cactions",
"http://en.wiki.x.io/wiki/Special:Contributions/" + uname[1],
"contribs",
"ca-contribs",
"Contributions",
undefined,
document.getElementById("ca-move") || document.getElementById("ca-watch"));
});
}
function replaceWithPoem(textbox) {
var textbox = document.getElementById('wpTextbox1');
var substr = textbox.value.substring(textbox.selectionStart, textbox.selectionEnd);
if (substr.length == 0) return false;
var substr2 = '<poem style="margin-left: 2em">\n' + substr.replace(/^:/gm, '').replace(/\<br.*?\>/g, '') + '\n</poem>';
document.getElementById('wpTextbox1').value = textbox.value.replace(substr, substr2);
}
$(function() {
var wform = document.forms["editform"];
if (!wform) return false;
mw.util.addPortletLink("p-tb", "javascript:replaceWithPoem()", "Replace with poem", "t-summary", "Replace selected text with poem");
if (wgNamespaceNumber == 0)
document.getElementById("wpMinoredit").checked = true;
document.getElementById("wpSummary").setAttribute("maxlength", "250");
mw.util.addPortletLink("p-tb", "javascript:prettifySummary()", "Unicodify summary", "t-summary", "Converts character entity references into the character, among other unpredictable behavior");
document.getElementById("wpSummary").spellcheck = true;
});
$(function() {
mw.util.addPortletLink("p-tb", "javascript:displayWgVars()", "Display page vars", "t-wgvars");
});
function displayWgVars() {
var wgVars = document.getElementsByTagName('script')[0].firstChild.cloneNode(true);
var wgVarsPre = document.createElement('pre');
wgVarsPre.appendChild(wgVars);
document.getElementById('siteSub').appendChild(wgVarsPre);
}
function prettifySummary() {
//hack to unicodify summary
var tempnode=document.createElement('span');
var sumbox = document.getElementById('wpSummary');
tempnode.innerHTML = sumbox.value;
sumbox.value = tempnode.innerHTML;
}
if (document.location.href.indexOf("speedydiff") != -1)
$(function() {
var k = getElementsByClassName(document.getElementById("wikiDiff"), "td", "diff-ntitle")[0];
k.style.backgroundColor = "blue";
k.onclick = function() {
document.forms['editform'].submit();
}
});
function linkChange(func) {
var alinks = document.getElementsByTagName("a");
var alink;
for (var i = 0, leng = alinks.length; i < leng; i++)
func(alinks[i]);
}
function linkAppend(str) {
linkChange(function(link) {
link.href += str;
});
}
/* external
$(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.wiki.x.io") != 0)
tablink.target = "_tab";
}
});
*/
//following script based off of [[User:Ais523/votesymbols.js]]; mostly string functions modified
function lowerNoPunct(s)
{
return s.toLowerCase().replace(/\.|,|:|;|\+/g, '');
}
$(function() {
if(wgNamespaceNumber==0 || wgPageName == "Wikipedia:Requests_for_adminship") return; //RFA is often rather long; may also add wgPageName.indexOf("Wikipedia:Articles_for_deletion/Log/") == 0
var vt=
["http://up.wiki.x.io/wikipedia/commons/thumb/9/94/Symbol_support_vote.svg/15px-Symbol_support_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/d/d0/Symbol_keep_vote.svg/15px-Symbol_keep_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/7/7f/Symbol_oppose_vote.svg/15px-Symbol_oppose_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/8/89/Symbol_delete_vote.svg/15px-Symbol_delete_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/8/89/Symbol_neutral_vote.svg/15px-Symbol_neutral_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/b/b0/Symbol_merge_vote.svg/15px-Symbol_merge_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/5/50/Symbol_move_vote.svg/15px-Symbol_move_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/0/0c/Symbol_redirect_vote.svg/15px-Symbol_redirect_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/b/ba/Symbol_opinion_vote.svg/15px-Symbol_opinion_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/e/e0/Symbol_comment_vote.svg/15px-Symbol_comment_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/f/f6/Symbol_unsupport_vote.svg/15px-Symbol_unsupport_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/e/e0/Symbol_question.svg/15px-Symbol_question.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/a/aa/Symbol_divide_vote.svg/15px-Symbol_divide_vote.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/5/54/Symbol_wait.svg/15px-Symbol_wait.svg.png",
"http://up.wiki.x.io/wikipedia/commons/thumb/b/bc/Face-grin.svg/15px-Face-grin.svg.png"];
var la=[];
la['support']=0; la['endorse']=0;
la['keep']=1;
la['oppose']=2; la['overturn']=2; la['object']=2;
la['delete']=3;
la['neutral']=4;
la['merge']=5; la['upmerge']=5;
la['move']=6; la['rename']=6; la['userfy']=6; la['transwiki']=6;
la['redirect']=7;
la['opinion']=8; la['relist']=8; la['subst']=8; la['salt']=8; la['change']=8;
// Note that icon 8 on the list is often used for debate-specific !votes
la['comment']=9; la['update']=9; la['note']=9;
la['delist']=10;
la['question']=11;
la['split']=12;
la['wait']=13;
la['bjaodn']=14;
var btc=document.body.getElementsByTagName("b");
i=btc.length;
while(i--)
{
var j,k;
j=btc[i].innerHTML.replace(/<|>|\//g, " ").split(" ");
k=0;
var x="";
while(k<j.length)
{
if(lowerNoPunct(j[k])=="don't"||lowerNoPunct(j[k])=='not'
||lowerNoPunct(j[k])=='no'||lowerNoPunct(j[k])=='without') break;
var l=la[lowerNoPunct(j[k])];
if(l!=undefined)
{
x+="<img src='"+vt[l]+"' alt='*' /> ";
}
k++;
}
if(x!="") btc[i].innerHTML=x+btc[i].innerHTML;
}
});