Difference between revisions of "MediaWiki:Common.js"

From The iPhone Wiki
Jump to: navigation, search
m (disabled until further notice...)
m (Mediawiki is crap)
Line 6: Line 6:
   
 
// Removes the "1 This is an Archive Page" element from the TOC on Talk Archives
 
// Removes the "1 This is an Archive Page" element from the TOC on Talk Archives
/*function fixTalkArchiveToc() {
+
//function fixTalkArchiveToc() {
// Is there a "This is an Archive Page" header block?
+
// // Is there a "This is an Archive Page" header block?
if ($("table[id=archive-page-notice]").length != 0) {
+
// if ($("table[id=archive-page-notice]").length != 0) {
var toc = $("table[id=toc]"); // Is there a TOC?
+
// var toc = $("table[id=toc]"); // Is there a TOC?
if (toc.length != 0) {
+
// if (toc.length != 0) {
// relocate to the children of the TOC table
+
// // relocate to the children of the TOC table
toc = toc[0].children;
+
// toc = toc[0].children;
// MediaWiki is consistent, so no need to check length
+
// // MediaWiki is consistent, so no need to check length
if (toc[0].localName == "tbody") {
+
// if (toc[0].localName == "tbody") {
toc = toc[0].children; // skip the tbody tag
+
// toc = toc[0].children; // skip the tbody tag
}
+
// }
// Nav to the "ul";
+
// // Nav to the "ul";
toc = toc[0].children[0].children[1].children; // "ul" -> "{li}"
+
// toc = toc[0].children[0].children[1].children; // "ul" -> "{li}"
+
//
// remove "This is an Archive Page" entry
+
// // remove "This is an Archive Page" entry
toc[0].remove();
+
// toc[0].remove();
+
//
// Decrement the outermost section number for each TOC entry
+
// // Decrement the outermost section number for each TOC entry
var sec = $("span[class=tocnumber]");
+
// var sec = $("span[class=tocnumber]");
var len = sec.length;
+
// var len = sec.length;
var split;
+
// var split;
for (var i = 0; i < len; i++) {
+
// for (var i = 0; i < len; i++) {
split = sec[i].innerText.split(".");
+
// split = sec[i].innerText.split(".");
split[0]--;
+
// split[0]--;
sec[i].innerText = split.join(".");
+
// sec[i].innerText = split.join(".");
}
+
// }
}
+
// }
}
+
// }
  +
//}
}*/
 
   
 
// Removes the "/20##" part of the "Page" link on talk archives
 
// Removes the "/20##" part of the "Page" link on talk archives

Revision as of 17:35, 14 November 2013

/**
 * The iPhone Wiki MediaWiki:Common.js
 *   - JavaScript to fix common issues on The iPhone Wiki
 * Copyright (c) 2013 Cole Johnson <coleharrisjohnson@gmail.com>
 **/

// Removes the "1 This is an Archive Page" element from the TOC on Talk Archives
//function fixTalkArchiveToc() {
//    // Is there a "This is an Archive Page" header block?
//    if ($("table[id=archive-page-notice]").length != 0) {
//        var toc = $("table[id=toc]"); // Is there a TOC?
//        if (toc.length != 0) {
//            // relocate to the children of the TOC table
//            toc = toc[0].children;
//            // MediaWiki is consistent, so no need to check length
//            if (toc[0].localName == "tbody") {
//                toc = toc[0].children; // skip the tbody tag
//            }
//            // Nav to the "ul"; 
//            toc = toc[0].children[0].children[1].children; // "ul" -> "{li}"
//            
//            // remove "This is an Archive Page" entry
//            toc[0].remove();
//            
//            // Decrement the outermost section number for each TOC entry
//            var sec = $("span[class=tocnumber]");
//            var len = sec.length;
//            var split;
//            for (var i = 0; i < len; i++) {
//                split = sec[i].innerText.split(".");
//                split[0]--;
//                sec[i].innerText = split.join(".");
//            }
//        }
//    }
//}

// Removes the "/20##" part of the "Page" link on talk archives
function fixTalkArchiveNSLinks() {
    var match = $("#firstHeading")[0].innerText.match(/\/20[0-9]{2}$/);
    if (match != null && match.length != 0) {
        var ns = $("#p-namespaces li[class!=selected] a");
        if (ns != null && ns.length != 0) {
            // Vector skin
            // TODO: Change link color back to blue
            ns[0].href = ns[0].href.replace(
                /w[\/\\]index.php\?title=(.*?)(\/20[0-9]{2}).*$/,
                "wiki/$1");
            return;
        }
        ns = $("div[class=pBody] li[class=new]");
        if (ns != null && ns.length != 0) {
            // Modern skin
            ns[0].className = ns[0].className.replace("new", "");
            ns = ns.find("a");
            ns[0].href = ns[0].href.replace(
                /w[\/\\]index.php\?title=(.*?)(\/20[0-9]{2}).*$/,
                "wiki/$1");
            return;
        }
    }
}

//fixTalkArchiveToc();
fixTalkArchiveNSLinks();