MediaWiki:Common.js: Unterschied zwischen den Versionen

Aus SELFHTML-Wiki
Wechseln zu: Navigation, Suche
K (t)
(Beispiel-Code-Links führen direkt zum Editieren oder Roh-Ansicht)
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 21: Zeile 21:
  
 
/* Vorlage:Beispiel
 
/* Vorlage:Beispiel
Zeige zusätzlichen Link zum Code für Beispiel-Administratoren */
+
Zeige zusätzlichen Link zum Code mit unterschiedlicher Beschriftung für Beispiel-Administratoren und andere */
 
var BeispielAdmin = {
 
var BeispielAdmin = {
 
   setup: function() {
 
   setup: function() {
     var isExampleAdmin = false;
+
     var linkText, linkAffix;
     if (wgUserGroups)
+
     if (wgUserGroups && wgUserGroups.indexOf('exampleadmin') > -1) {
       for (var i = 0; i < wgUserGroups.length; i++)
+
       linkText = 'bearbeiten …';
        if (wgUserGroups[i] == 'exampleadmin')
+
      linkAffix = '?action=edit';
          isExampleAdmin = true;
+
    } else {
     if (!isExampleAdmin) return;
+
      linkText = 'Quelltext …';
 +
      linkAffix = '?action=render';
 +
     }
 
     var examples = getElementsByClassName(document, '*', 'vorlage_beispiel');
 
     var examples = getElementsByClassName(document, '*', 'vorlage_beispiel');
     for (var i = 0; i < examples.length; i++) {
+
     for (var example = 0; example < examples.length; example++) {
       var a = getElementsByClassName(examples[i], 'a', 'beispiel_url');
+
       var a = getElementsByClassName(examples[example], 'a', 'beispiel_url');
 
       if (a.length == 2) {
 
       if (a.length == 2) {
 
         var codeLink = document.createElement('a');
 
         var codeLink = document.createElement('a');
         codeLink.href = wgArticlePath.replace(/\$1/, /\/extensions\/Selfhtml\/example.php\/(.*)$/.exec(a[0].href)[1]);
+
         codeLink.href = wgArticlePath.replace(/\$1/, /\/extensions\/Selfhtml\/example.php\/(.*)$/.exec(a[0].href)[1]) + linkAffix;
 
         codeLink.className = 'beispiel_url_code';
 
         codeLink.className = 'beispiel_url_code';
         codeLink.appendChild(document.createTextNode('bearbeiten …'));
+
         codeLink.appendChild(document.createTextNode(linkText));
 
         a[0].parentNode.appendChild(codeLink);
 
         a[0].parentNode.appendChild(codeLink);
 
       }
 
       }
     }
+
     }
 
   }
 
   }
 
};
 
};

Version vom 11. Oktober 2015, 21:02 Uhr

/* Links zum Forum */
$('#mw-content-text > h2').append(" <a href='https://forum.selfhtml.org/self/new' title='Frage im SELFHTML-Forum stellen‽'><img src='https://src.selfhtml.org/wiki/Interrobang_20.png' alt='(‽)'></a>");

$('#mw-content-text > h3').append(" <a href='https://forum.selfhtml.org/self/new' title='Frage im SELFHTML-Forum stellen‽'><img src='https://src.selfhtml.org/wiki/interrobang_16.png' alt='(‽)'></a>");

if (document.URL.indexOf('Spezial:') == -1) {
   $('#p-namespaces > ul').append("<li><span><a href='https://forum.selfhtml.org/self/new' title='Frage im SELFHTML-Forum stellen‽'>Forum</a></span></li>");
}

$('#ca-view').after("<li><span><a href='https://forum.selfhtml.org/self/new' title='Frage im SELFHTML-Forum stellen‽'>Fragen</a></span></li>");


/* Placeholder im Suchfeld */
document.getElementById('searchInput').setAttribute('placeholder', 'Suchbegriff');

/* Das folgende JavaScript wird für alle Benutzer geladen. */

/* CharInsert extension */

importScript('MediaWiki:Edittools.js');

/* Vorlage:Beispiel
Zeige zusätzlichen Link zum Code mit unterschiedlicher Beschriftung für Beispiel-Administratoren und andere */
var BeispielAdmin = {
  setup: function() {
    var linkText, linkAffix;
    if (wgUserGroups && wgUserGroups.indexOf('exampleadmin') > -1) {
      linkText = 'bearbeiten …';
      linkAffix = '?action=edit';
    } else {
      linkText = 'Quelltext …';
      linkAffix = '?action=render';
    }
    var examples = getElementsByClassName(document, '*', 'vorlage_beispiel');
    for (var example = 0; example < examples.length; example++) {
      var a = getElementsByClassName(examples[example], 'a', 'beispiel_url');
      if (a.length == 2) {
        var codeLink = document.createElement('a');
        codeLink.href = wgArticlePath.replace(/\$1/, /\/extensions\/Selfhtml\/example.php\/(.*)$/.exec(a[0].href)[1]) + linkAffix;
        codeLink.className = 'beispiel_url_code';
        codeLink.appendChild(document.createTextNode(linkText));
        a[0].parentNode.appendChild(codeLink);
      }
    }
  }
};
addOnloadHook(BeispielAdmin.setup);

/* Vorlage:Verbergen */
   
function hasClass(element, className) {
  return new RegExp('\\b' + className + '\\b').test(element.className);
}  

var Verbergen = {
  toggle: function(what) {
    if (!hasClass(what, 'verbergen_schalter') || what.id.substr(0, 'verbergen_'.length) != 'verbergen_')
      return;
    var id = what.id.substr('verbergen_'.length);
    var nodes = getElementsByClassName(document, '*', 'verbergen_id_' + id);
    for (var i = 0; i < nodes.length; i++)
      nodes[i].style.display = nodes[i].style.display == 'none' ? '' : 'none';
  },
  showAll: function() {
    var hide = getElementsByClassName(document, '*', 'verbergen_verborgen');
    for (var i = 0; i < hide.length; i++)
      hide[i].style.display = '';
    var show = getElementsByClassName(document, '*', 'verbergen_gezeigt');
    for (var i = 0; i < show.length; i++)
      show[i].style.display = 'none';
  },
  hideAll: function() {
    var hide = getElementsByClassName(document, '*', 'verbergen_verborgen');
    for (var i = 0; i < hide.length; i++)
      hide[i].style.display = 'none';
    var show = getElementsByClassName(document, '*', 'verbergen_gezeigt');
    for (var i = 0; i < show.length; i++)
      show[i].style.display = '';
  },
  toggleAll: function() {
    var hide = getElementsByClassName(document, '*', 'verbergen_verborgen');
    var show = getElementsByClassName(document, '*', 'verbergen_gezeigt');
    for (var i = 0; i < hide.length; i++)
      hide[i].style.display = hide[i].style.display == 'none' ? '' : 'none';
    for (var i = 0; i < show.length; i++)
      show[i].style.display = show[i].style.display == 'none' ? '' : 'none';
  },
  span2a: function(toggle, onclickHandler) {
    var toggleLink = document.createElement('a');
    toggleLink.href = "?schalte";
    toggleLink.onclick = onclickHandler;
    toggleLink.className = toggle.className;
    if (toggle.id)
      toggleLink.id = toggle.id;
    toggleLink.innerHTML = toggle.innerHTML;
    if (toggle.style.cssText) toggleLink.style.cssText = toggle.style.cssText;
    else toggleLink.setAttribute('style', toggle.getAttribute('style'));
    toggle.parentNode.replaceChild(toggleLink, toggle);
  },
  setup: function() {
    var toggles = getElementsByClassName(document, '*', 'verbergen_schalter');
    for (var i = 0; i < toggles.length; i++) {
      Verbergen.span2a(toggles[i],
        function() {Verbergen.toggle(this); return false;});
    }
    var hiddenNodes = getElementsByClassName(document, '*', 'verbergen_verborgen');
    for (var i = 0; i < hiddenNodes.length; i++)
      hiddenNodes[i].style.display = 'none';
   
    toggles = getElementsByClassName(document, '*', 'verbergen_zeige_alles');
    for (var i = 0; i < toggles.length; i++)
      Verbergen.span2a(toggles[i], function() {Verbergen.showAll(); return false;});
    toggles = getElementsByClassName(document, '*', 'verbergen_verberge_alles');
    for (var i = 0; i < toggles.length; i++)
      Verbergen.span2a(toggles[i], function() {Verbergen.hideAll(); return false;});
    toggles = getElementsByClassName(document, '*', 'verbergen_schalte_alles');
    for (var i = 0; i < toggles.length; i++)
      Verbergen.span2a(toggles[i], function() {Verbergen.toggleAll(); return false;});
  }
}; 
addOnloadHook(Verbergen.setup);

// Überschrift in Startseite ausblenden 

if (document.URL.indexOf('Startseite') > 0) {
  document.getElementById('firstHeading').style.display = 'none';
  document.getElementById('content').style.borderTop = 'none';
}