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 (whoops) |
(attempting to fix the problem of clicking "Page" while on a talk archive) |
||
Line 38: | Line 38: | ||
split[0]--; |
split[0]--; |
||
sec[i].innerText = split.join("."); |
sec[i].innerText = split.join("."); |
||
+ | } |
||
+ | } |
||
+ | |||
+ | // @name fixTalkArchiveNSLinks |
||
+ | // @version 1.0 |
||
+ | // @description Removes the "/20##" part of the "Page" link on talk archives |
||
+ | // @copyright (c) 2013, Cole Johnson <coleharrisjohnson@gmail.com> |
||
+ | function fixTalkArchiveNSLinks() { |
||
+ | if ($("#firstHeading")[0].innerText.match(/\/20[0-9]{2}$/).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(); |
fixTalkArchiveToc(); |
||
+ | fixTalkArchiveNSLinks(); |
Revision as of 21:04, 17 August 2013
// @name fixTalkArchiveToc
// @version 1.0
// @description Removes the "1 This is an Archive Page" element from the TOC on Talk Archives
// @copyright (c) 2013, Cole Johnson <coleharrisjohnson@gmail.com>
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 don't check length first
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();
// Cleanup
fixTocSectionNums();
}
}
}
// @name fixTocSectionNums
// @version 1.0
// @description Decrements the section number of each TOC entry
// @copyright (c) 2013, Cole Johnson <coleharrisjohnson@gmail.com>
function fixTocSectionNums() {
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(".");
}
}
// @name fixTalkArchiveNSLinks
// @version 1.0
// @description Removes the "/20##" part of the "Page" link on talk archives
// @copyright (c) 2013, Cole Johnson <coleharrisjohnson@gmail.com>
function fixTalkArchiveNSLinks() {
if ($("#firstHeading")[0].innerText.match(/\/20[0-9]{2}$/).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();