Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/* kopiert und angepasst von [[:en:User:Ais523/topcontrib.js]]
Farbcodiert Benutzerbeiträge, wandelt dabei die farblichen Hinterlegungen der gesichteten Versionen in Symbole um
stammt noch aus den Zeiten vor jQuery und wurde aus nostalgischen Gründen weitgehend belassen (inklusive der absurden
Konvention Blockenden betreffend)
Dokumentation unter [[Benutzer:Schnark/js/topcontrib]] <nowiki> */
/*global mediaWiki*/
/*jshint curly: false, eqeqeq: false, quotmark: double, onevar: false, strict: false, camelcase: false*/
//jscs:disable
(function (addOnloadHook, wgCanonicalNamespace, wgCanonicalSpecialPageName, expose) {
var topcontrib = {
version: 2.1,
ich_top: "#7FFFD0", //verschiedene Farben, bei Bedarf anpassen, ich_top und
ich: "#C0FFC0", //fremd_top müssen verschieden sein, immer heller wählen
fremd_top: "#FFD0A0", //als man eigentlich vorhat, sie wirken erdrückend genug
fremd: "#FFEEBA", //"ich" und "fremd" bezieht sich auf den Benutzer, dessen
//Beiträge betrachtet werden, nicht auf einen selbst.
symbole: ["! ", //Ausrufszeichen für ungesichtet
"? ", //Fragezeichen für nie gesichtet
// "\u2713 "], //Häkchen für gesichtet
""], //gesichtete nicht extra markieren
run: function() {
if (wgCanonicalNamespace == "Special" && wgCanonicalSpecialPageName == "Contributions") {
var li = document.querySelectorAll(".mw-contributions-list li");
if (!li.length) return;
var a = []; //wird mit allen Seiten gefüllt
var symbol;
for (var i = 0; i < li.length; i++) {
var className = " " + li[i].className + " "; //Klassen, durch Leerzeichen separiert
if (className.indexOf(" mw-logline-block ") > -1) continue;
if (className.indexOf(" mw-aft-contribution ") > -1) continue;
var spans = li[i].getElementsByTagName("span");
var j = 0;
if (spans[0] && (" " + spans[0].className + " ").indexOf(" mw-revdelundel-link ") > -1) j = 1;
var titel = li[i].getElementsByTagName("a")[j].title; //Der Titel steht als title im ersten Link
var aktuell = false; //existiert ein "(aktuell)" ?
for (j = 0; j < spans.length; j++) {
if ((" " + spans[j].className + " ").indexOf(" mw-uctop ") > -1) {
aktuell = true; break; }}
var farbe;
if (aktuell) //falls "(aktuell)" gefunden
farbe = topcontrib.ich_top;
else
farbe = topcontrib.fremd_top;
if (a[titel]) //Titel zum wiederholten Mal ?
farbe = (a[titel] == topcontrib.ich_top ? topcontrib.ich : topcontrib.fremd);
else
a[titel] = farbe;
var status = 0; //gesichtet oder ungesichtet?
if (className.indexOf(" flaggedrevs-pending ") > -1) status = 1; //ungesichtet
if (className.indexOf(" flaggedrevs-unreviewed ") > -1) status = 2; //noch nie gesichtet
if (className.indexOf(" flaggedrevs-color-1 ") > -1) status = 3; //gesichtet
var wrap = document.createElement("span"); //alles mit <span>...</span> umgeben
while (li[i].firstChild)
wrap.appendChild(li[i].firstChild);
li[i].appendChild(wrap);
wrap.style.backgroundColor = farbe; //und einfärben
if (status !== 0) {
li[i].className = ""; //Farbmarkierung entfernen
symbol = document.createElement("span"); //Symbol erzeugen ...
symbol.appendChild(document.createTextNode(topcontrib.symbole[status - 1]));
symbol.className = "unpatrolled"; //... formatieren ...
if (status == 3) symbol.style.color = "green";
li[i].insertBefore(symbol,li[i].firstChild); }} //... und einfügen
var legend = document.getElementById("sp-contributions-footer"); //Legende
if (!legend) legend = document.getElementById("sp-contributions-footer-anon");
if (!legend) return;
var el = legend.getElementsByClassName("flaggedrevs-pending")[0];
if (el) {
el.className = "";
symbol = document.createElement("span"); //Symbol erzeugen (wie oben)
symbol.appendChild(document.createTextNode(topcontrib.symbole[0]));
symbol.className = "unpatrolled";
el.insertBefore(symbol,el.firstChild); }
el = legend.getElementsByClassName("flaggedrevs-unreviewed")[0];
if (el) {
el.className = "";
symbol = document.createElement("span");
symbol.appendChild(document.createTextNode(topcontrib.symbole[1]));
symbol.className = "unpatrolled";
el.insertBefore(symbol,el.firstChild); }
el = legend.getElementsByClassName("flaggedrevs-color-1")[0];
if (el) {
el.className = "";
symbol = document.createElement("span");
symbol.appendChild(document.createTextNode(topcontrib.symbole[2]));
symbol.className = "unpatrolled";
symbol.style.color = "green";
el.insertBefore(symbol,el.firstChild); }}}};
expose(topcontrib);
$(topcontrib.run);
})(jQuery, mediaWiki.config.get("wgCanonicalNamespace"), mediaWiki.config.get("wgCanonicalSpecialPageName"), mediaWiki.hook("userjs.load-script.topcontrib").fire);
//</nowiki>