MediaWiki:Common.js: Porovnání verzí

Přejít na: navigace, hledání
(Převzato z de)
(Rv)
 
Řádka 1: Řádka 1:
 
/* Zde uvedený JavaScript bude zaveden pro všechny uživatele při načtení kterékoli strany. */
 
/* Zde uvedený JavaScript bude zaveden pro všechny uživatele při načtení kterékoli strany. */
 
// ============================================================
 
// BEGIN Configuration for "star" logo at the top of Featured Articles
 
 
/** set to false in [[Special:Mypage/monobook.js]] to switch off this "feature" */
 
var enable_linkFA = true;
 
 
/**
 
  * star logo for featured articles in other languages,
 
  * see [[:Template:Link_FA]] and [[MediaWiki:Common.css]]
 
  */
 
function linkFA() {
 
    // early exit when diabled
 
    if (!enable_linkFA) return;
 
   
 
    // links are to replaced in p-lang only
 
    var    pLang  = document.getElementById("p-lang");
 
    if (!pLang)    return;
 
    var    lis = pLang.getElementsByTagName("li");
 
    for (var i=0; i<lis.length; i++) {
 
          var  li  = lis[i];
 
          // only links with a corresponding Link_FA template are interesting
 
          if (!document.getElementById(li.className + "-fa"))  continue;
 
         
 
          // additional class so the template can be hidden with CSS
 
          li.className += " FA";
 
         
 
          // change title
 
          li.title = "Dieser Artikel wurde als exzellent bewertet.";
 
    }
 
}
 
// aOnloadFunctions[aOnloadFunctions.length] = linkFA;
 
addOnloadHook(linkFA);
 
 
// END Configuration for "star" logo at the top of Featured Articles */
 
// ============================================================
 
 
//***********************************************************************
 
/** "Technical restrictions" title fix *****************************************
 
  *
 
  *  Description:
 
  *  Maintainers: [[:en:User:Interiot|User:Interiot]], [[:en:User:Mets501|User:Mets501]]
 
  *  adjusted to deWP by [[:de:User:CyRoXX|User:CyRoXX]]
 
  */
 
 
// 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.  <nowiki>But [[C#]] is not an equivalent wikilink, so [[C Sharp]] doesn't have its main title changed)</nowiki>
 
//
 
// The function looks for a banner like this: <nowiki>
 
// <div id="RealTitleBanner">    <!-- div that gets hidden -->
 
//  <span id="RealTitle">title</span>
 
// </div>
 
// </nowiki>An element with id=DisableRealTitle disables the function.
 
var disableRealTitle = 0; // users can disable this by making this true from their monobook.js
 
editprefix = "Bearbeiten von ";
 
 
addOnloadHook(function() {
 
try {
 
var realTitleBanner = document.getElementById("Vorlage_Korrekter_Titel");
 
if (realTitleBanner && !document.getElementById("DisableRealTitle") && !disableRealTitle) {
 
var realTitle = document.getElementById("Korrekter_Titel");
 
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(/^ +/, "").replace(/ +$/, ""); // trim left and right spaces
 
verifyTitle = verifyTitle.replace(/_/g, " "); // underscores to spaces
 
verifyTitle = verifyTitle.charAt(0).toUpperCase() + verifyTitle.substring(1, verifyTitle.length); // uppercase first character
 
isPasteable = (verifyTitle == wgTitle);
 
 
// replace the English canonical Namespaces by the German Namespaces
 
var enNS = new Array("Media", "Special", "Talk", "User", "User talk", "Project", "Project talk", "Image", "Image talk", "MediaWiki", "MediaWiki talk", "Template", "Template talk", "Help", "Help talk", "Category", "Category talk", "Portal", "Portal talk");
 
var deNS = new Array("Media", "Spezial", "Diskussion", "Benutzer", "Benutzer Diskussion", "Wikipedia", "Wikipedia Diskussion", "Bild", "Bild Diskussion", "MediaWiki", "MediaWiki Diskussion", "Vorlage", "Vorlage Diskussion", "Hilfe", "Hilfe Diskussion", "Kategorie", "Kategorie Diskussion", "Portal", "Portal Diskussion");
 
 
for (var i = 0; i <= enNS.length - 1; i++) {
 
    //alert(enNS[i] + "-" + deNS[i]);
 
    var NSregex = new RegExp("^" + enNS[i] + ":");
 
    realTitleText = realTitleText.replace(NSregex, deNS[i] + ":");
 
    realTitleHTML = realTitleHTML.replace(NSregex, deNS[i] + ":");
 
}
 
 
// Add the 'editprefix' to the titles, if wgIsArticle is false
 
if (!wgIsArticle) {
 
    realTitleText = editprefix + realTitleText;
 
                                    realTitleHTML = editprefix + realTitleHTML;
 
}
 
 
var h1 = document.getElementsByTagName("h1")[0];
 
if (h1 && isPasteable) {
 
h1.innerHTML = containsTooMuchHTML ? realTitleText : realTitleHTML;
 
if (!containsTooMuchHTML)
 
realTitleBanner.style.display = "none";
 
}
 
document.title = realTitleText + " - Wikipedia";
 
}
 
}
 
} catch (e) {
 
/* Something went wrong. */
 
}
 
});
 
 
 
 
// similar to innerHTML, but only returns the text portions of the insides, excludes HTML
 
function pickUpText(aParentElement) {
 
  var str = "";
 
 
  function pickUpTextInternal(aElement) {
 
    var child = aElement.firstChild;
 
    while (child) {
 
      if (child.nodeType == 1) // ELEMENT_NODE
 
        pickUpTextInternal(child);
 
      else if (child.nodeType == 3) // TEXT_NODE
 
        str += child.nodeValue;
 
 
      child = child.nextSibling;
 
    }
 
  }
 
 
  pickUpTextInternal(aParentElement);
 
 
  return str;
 
}
 
//********Ende erzwungener kleiner Anfangsbuchstabe********************
 

Aktuální verse z 24. 2. 2007, 19:03

/* Zde uvedený JavaScript bude zaveden pro všechny uživatele při načtení kterékoli strany. */