Difference between revisions of "-"
From YTMND
(oops, it was at user js) |
(do lowercase fix) |
||
Line 59: | Line 59: | ||
addOnloadHook(mainpg); | addOnloadHook(mainpg); | ||
+ | |||
+ | // Fix wikipedia's lowercase first letter problem | ||
+ | // Fix the lowercase first letter problem by changing the page title to the correct one and hiding the template. | ||
+ | // by pile0nades | ||
+ | addOnloadHook(function (){ | ||
+ | |||
+ | |||
+ | try { | ||
+ | var ch = get("//div[@id='bodyContent']/dl/dd/span[@class='plainlinks']/i[contains(.,'initial letter is capitalized')]/b").snapshotItem(0); | ||
+ | var correction = ch.innerHTML; | ||
+ | var articleTitle = get("//div[@id='content']/h1[@class='firstHeading']").snapshotItem(0); | ||
+ | var template = ch.parentNode.parentNode.parentNode; | ||
+ | |||
+ | // check if the original and correct versions match | ||
+ | // this avoids acting on non-"real" uses of the template | ||
+ | if(articleTitle.innerHTML.toLowerCase() == correction.toLowerCase()) { | ||
+ | // Correct the page title | ||
+ | document.title = document.title.replace(articleTitle.innerHTML, correction); | ||
+ | |||
+ | // Correct the article title | ||
+ | articleTitle.innerHTML = correction; | ||
+ | |||
+ | // Remove template | ||
+ | template.style.display = "none"; | ||
+ | } | ||
+ | } | ||
+ | catch(e){} | ||
+ | |||
+ | function get(query, context) { | ||
+ | return document.evaluate( | ||
+ | query, | ||
+ | document, | ||
+ | null, | ||
+ | XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, | ||
+ | context | ||
+ | ); | ||
+ | } | ||
+ | }); | ||
+ | |||
/* </nowiki></pre> */ | /* </nowiki></pre> */ |
Revision as of 14:10, February 7, 2007
/**/ /* tooltips and access keys */ ta = new Object(); ta['pt-userpage'] = new Array('.','My user page'); ta['pt-anonuserpage'] = new Array('.','The user page for the ip you\'re editing as'); ta['pt-mytalk'] = new Array('n','My talk page'); ta['pt-anontalk'] = new Array('n','Discussion about edits from this ip address'); ta['pt-preferences'] = new Array('','My preferences'); ta['pt-watchlist'] = new Array('l','The list of pages you\'re monitoring for changes.'); ta['pt-mycontris'] = new Array('y','List of my contributions'); ta['pt-login'] = new Array('o','You must login to edit.'); ta['pt-anonlogin'] = new Array('o','You must login to edit.'); ta['pt-logout'] = new Array('o','Log out'); ta['ca-talk'] = new Array('t','Discussion about the content page'); ta['ca-edit'] = new Array('e','You can edit this page. Please use the preview button before saving.'); ta['ca-addsection'] = new Array('+','Add a comment to this discussion.'); ta['ca-viewsource'] = new Array('e','This page is protected. You can view its source.'); ta['ca-history'] = new Array('h','Past versions of this page.'); ta['ca-protect'] = new Array('=','Protect this page'); ta['ca-delete'] = new Array('d','Delete this page'); ta['ca-undelete'] = new Array('d','Restore the edits done to this page before it was deleted'); ta['ca-move'] = new Array('m','Move this page'); ta['ca-watch'] = new Array('w','Add this page to your watchlist'); ta['ca-unwatch'] = new Array('w','Remove this page from your watchlist'); ta['search'] = new Array('f','Search...'); ta['p-logo'] = new Array('','Main Page'); ta['n-mainpage'] = new Array('z','Visit the Main Page'); ta['n-recentchanges'] = new Array('r','A list of recently edited pages'); ta['n-randompage'] = new Array('x','Load a random page'); ta['n-help'] = new Array('','The place to find out about the world.'); ta['n-sitesupport'] = new Array('','Support us'); ta['t-whatlinkshere'] = new Array('j','List of all internal pages that link here'); ta['t-recentchangeslinked'] = new Array('k','Recent changes in pages linked from this page'); ta['feed-rss'] = new Array('','RSS feed for this page'); ta['feed-atom'] = new Array('','Atom feed for this page'); ta['t-contributions'] = new Array('','View the list of contributions of this user'); ta['t-emailuser'] = new Array('','Send a mail to this user'); ta['t-upload'] = new Array('u','Upload images or media files'); ta['t-specialpages'] = new Array('q','List of all special pages'); ta['ca-nstab-main'] = new Array('c','View the content page'); ta['ca-nstab-user'] = new Array('c','View the user page'); ta['ca-nstab-media'] = new Array('c','View the media page'); ta['ca-nstab-special'] = new Array('','This is a special page, you can\'t edit the page itself.'); ta['ca-nstab-wp'] = new Array('a','View the project page'); ta['ca-nstab-image'] = new Array('c','View the image page'); ta['ca-nstab-mediawiki'] = new Array('c','View the system message'); ta['ca-nstab-template'] = new Array('c','View the template'); ta['ca-nstab-help'] = new Array('c','View the help page'); ta['ca-nstab-category'] = new Array('c','View the category page'); /* hide heading on [[main_page]] */ var mpTitle = "Main Page"; var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle); var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1)); if (isMainPage && !isDiff) { document.write('<style type="text/css">/*<![CDATA[*/ #lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; } /*]]>*/</style>'); } addOnloadHook(mainpg); // Fix wikipedia's lowercase first letter problem // Fix the lowercase first letter problem by changing the page title to the correct one and hiding the template. // by pile0nades addOnloadHook(function (){ try { var ch = get("//div[@id='bodyContent']/dl/dd/span[@class='plainlinks']/i[contains(.,'initial letter is capitalized')]/b").snapshotItem(0); var correction = ch.innerHTML; var articleTitle = get("//div[@id='content']/h1[@class='firstHeading']").snapshotItem(0); var template = ch.parentNode.parentNode.parentNode; // check if the original and correct versions match // this avoids acting on non-"real" uses of the template if(articleTitle.innerHTML.toLowerCase() == correction.toLowerCase()) { // Correct the page title document.title = document.title.replace(articleTitle.innerHTML, correction); // Correct the article title articleTitle.innerHTML = correction; // Remove template template.style.display = "none"; } } catch(e){} function get(query, context) { return document.evaluate( query, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, context ); } }); /**/