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 (Mediawiki is crap) |
(updated to work) |
||
Line 2: | Line 2: | ||
* The iPhone Wiki MediaWiki:Common.js |
* The iPhone Wiki MediaWiki:Common.js |
||
* - JavaScript to fix common issues on The iPhone Wiki |
* - JavaScript to fix common issues on The iPhone Wiki |
||
− | * Copyright (c) 2013 Cole Johnson <coleharrisjohnson@gmail.com> |
+ | * Copyright (c) 2013-2014 Cole Johnson <coleharrisjohnson@gmail.com> |
+ | * Licensed under CC-BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0/> |
||
**/ |
**/ |
||
// 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() { |
|
− | + | // Is there a "This is an Archive Page" header block? |
|
− | + | if ($("[id=archive-page-notice]").length != 0) { |
|
− | + | // Is there a TOC? If so, get the list |
|
− | + | var toc = $("[id=toc]>ul>li"); |
|
+ | if (toc.length != 0) { |
||
− | // // relocate to the children of the TOC table |
||
+ | toc[0].remove(); |
||
− | // // MediaWiki is consistent, so no need to check length |
||
+ | var arr; |
||
− | // toc = toc[0].children[0].children[1].children; // "ul" -> "{li}" |
||
− | + | for (var i = 0; i < len; i++) { |
|
− | + | arr = sec[i].innerText.split("."); |
|
− | + | arr[0]--; |
|
− | + | sec[i].innerText = arr.join("."); |
|
+ | } |
||
− | // // Decrement the outermost section number for each TOC entry |
||
+ | } |
||
− | // var sec = $("span[class=tocnumber]"); |
||
+ | } |
||
− | // var len = sec.length; |
||
+ | } |
||
− | // var split; |
||
− | + | // Remove "This is an Archive Page" entry |
|
− | + | ||
− | + | // Decrement the outermost section number for each TOC entry |
|
− | + | var sec = $("[class=tocnumber]"); |
|
− | + | var len = sec.length; |
|
− | // 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 |
// Removes the "/20##" part of the "Page" link on talk archives |
Revision as of 00:37, 22 November 2014
/**
* The iPhone Wiki MediaWiki:Common.js
* - JavaScript to fix common issues on The iPhone Wiki
* Copyright (c) 2013-2014 Cole Johnson <coleharrisjohnson@gmail.com>
* Licensed under CC-BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0/>
**/
// 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 ($("[id=archive-page-notice]").length != 0) {
// Is there a TOC? If so, get the list
var toc = $("[id=toc]>ul>li");
if (toc.length != 0) {
// Remove "This is an Archive Page" entry
toc[0].remove();
// Decrement the outermost section number for each TOC entry
var sec = $("[class=tocnumber]");
var len = sec.length;
var arr;
for (var i = 0; i < len; i++) {
arr = sec[i].innerText.split(".");
arr[0]--;
sec[i].innerText = arr.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();