|
|
Line 12: |
Line 12: |
| })(); | | })(); |
|
| |
|
| /** "Technical restrictions" title fix *****************************************
| |
| *
| |
| * Description:
| |
| * Maintainers: wikipedia:User:Interiot, wikipedia:User:Mets501, wikipedia:User:Freakofnurture
| |
| */
| |
| //
| |
| // For pages that have something like Template:Lowercase, replace the title, but only if it is cut-and-pasteable as a valid wikilink.
| |
| // (for instance iPod's title is updated. But [[C#]] is not an equivalent
| |
| // wikilink, so [[C Sharp]] doesn't have its main title changed)
| |
| // Likewise for users who have selected the U.K. date format ("1 March") the
| |
| // titles of day-of-the-year articles will appear in that style. Users with any
| |
| // other date setting are not affected.
| |
| //
| |
| // The function looks for a banner like this:
| |
| // <div id="RealTitleBanner"> ... <span id="RealTitle">title</span> ... </div>
| |
| // An element with id=DisableRealTitle disables the function.
| |
| //
| |
| var disableRealTitle = 0; // users can set disableRealTitle = 1 locally to disable.
| |
| if (wgIsArticle) { // don't display the RealTitle when editing, since it is apparently inconsistent (doesn't show when editing sections, doesn't show when not previewing)
| |
| addOnloadHook(function() {
| |
| try {
| |
| var realTitleBanner = document.getElementById("RealTitleBanner");
| |
| if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle ) {
| |
| var realTitle = document.getElementById("RealTitle");
| |
| if (realTitle) {
| |
| var realTitleHTML = realTitle.innerHTML;
| |
| realTitleText = pickUpText(realTitle);
| |
|
| |
| var isPasteable = 0;
| |
| //var containsHTML = /</.test(realTitleHTML); // contains ANY HTML
| |
| var containsTooMuchHTML = /</.test( realTitleHTML.replace(/<\/?(sub|sup|small|big)>/gi, "") ); // contains HTML that will be ignored when cut-n-pasted as a wikilink
| |
| // calculate whether the title is pasteable
| |
| var verifyTitle = realTitleText.replace(/^ +/, ""); // trim left spaces
| |
| verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
| |
|
| |
| // if the namespace prefix is there, remove it on our verification copy. If it isn't there, add it to the original realValue copy.
| |
| if (wgNamespaceNumber != 0) {
| |
| if (wgCanonicalNamespace == verifyTitle.substr(0, wgCanonicalNamespace.length).replace(/ /g, "_") && verifyTitle.charAt(wgCanonicalNamespace.length) == ":") {
| |
| verifyTitle = verifyTitle.substr(wgCanonicalNamespace.length + 1);
| |
| } else {
| |
| realTitleText = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleText;
| |
| realTitleHTML = wgCanonicalNamespace.replace(/_/g, " ") + ":" + realTitleHTML;
| |
| }
| |
| }
| |
|
| |
| // verify whether wgTitle matches
| |
| verifyTitle = verifyTitle.replace(/[\s_]+/g, " "); // underscores and multiple spaces to single spaces
| |
| verifyTitle = verifyTitle.replace(/^\s+/, "").replace(/\s+$/, ""); // trim left and right spaces
| |
| verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
| |
| if ( (verifyTitle == wgTitle) || (verifyTitle == wgTitle.replace(/^(.+)?(January|February|March|April|May|June|July|August|September|October|November|December)\s+([12]?[0-9]|3[0123])([^\d].*)?$/g, "$1$3 $2$4") )) isPasteable = 1;
| |
| var h1 = document.getElementsByTagName("h1")[0];
| |
| if (h1 && isPasteable) {
| |
| h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
| |
| if (!containsTooMuchHTML)
| |
| realTitleBanner.style.display = "none";
| |
| }
| |
| document.title = realTitleText + " - Wikipedia, the free encyclopedia";
| |
| }
| |
| }
| |
| } catch (e) {
| |
| /* Something went wrong. */
| |
| }
| |
| });
| |
| }
| |
|
| |
| // similar to innerHTML, but only returns the text portions of the insides, excludes HTML | | // similar to innerHTML, but only returns the text portions of the insides, excludes HTML |
| function pickUpText(aParentElement) { | | function pickUpText(aParentElement) { |
Line 96: |
Line 31: |
| return str; | | return str; |
| } | | } |
|
| |
| //fix edit summary prompt for undo
| |
| //this code fixes the fact that the undo function combined with the "no edit summary prompter" causes problems if leaving the
| |
| //edit summary unchanged
| |
| //this was added by [[wikipedia:User:Deskana]], code by [[wikipedia:User:Tra]]
| |
| addOnloadHook(function () {
| |
| if (document.location.search.indexOf("undo=") != -1
| |
| && document.getElementsByName('wpAutoSummary')[0]) {
| |
| document.getElementsByName('wpAutoSummary')[0].value='1';
| |
| }
| |
| })
| |