The iPhone Wiki is no longer updated. Visit this article on The Apple Wiki for current information. |
Difference between revisions of "MediaWiki:Common.js"
m |
m (here;s the problem) |
||
Line 8: | Line 8: | ||
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 ( |
+ | 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) { |
||
Line 23: | Line 23: | ||
toc[0].remove(); |
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("."); |
|
+ | } |
||
− | } |
||
} |
} |
||
} |
} |
||
Line 38: | Line 38: | ||
// Removes the "/20##" part of the "Page" link on talk archives |
// Removes the "/20##" part of the "Page" link on talk archives |
||
function fixTalkArchiveNSLinks() { |
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")[0]; |
var ns = $("#p-namespaces li[class!=selected] a")[0]; |
||
// MediaWiki is predictable - don't check length |
// MediaWiki is predictable - don't check length |
Revision as of 21:25, 17 August 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")[0];
// MediaWiki is predictable - don't check length
ns.href = ns.href.replace(
/w[\/\\]index.php\?title=(.*?)(\/20[0-9]{2}).*$/,
"wiki/$1");
}
}
fixTalkArchiveToc();
fixTalkArchiveNSLinks();