Benutzer:ParaDox/monobook/MissingTopicsFilter.js
< Benutzer:ParaDox | monobook
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
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
/*=================================================================================================
[[Benutzer:ParaDox/monobook/MissingTopicsFilter.js]]
Bisher nur mit Firefox 2.0.0.12 getestet
http://de.wikipedia.org/w/index.php?title=Benutzer:ParaDox/monobook/MissingTopicsFilter.js
Für mehr Info siehe:
http://de.wikipedia.org/w/index.php?title=Benutzer_Diskussion:ParaDox/monobook/MissingTopicsFilter.js
By [[Benutzer:ParaDox]]
http://de.wikipedia.org/wiki/Benutzer:ParaDox
---------------------------------------------------------------------------------------------------
In die eigene „monobook.js“ einbinden mit den folgenden 4 Zeilen:
// [[Benutzer:ParaDox/monobook/MissingTopicsFilter.js]]
document.write('<SCRIPT SRC="http://de.wikipedia.org/w/index.php?title='
+ 'Benutzer:ParaDox/monobook/MissingTopicsFilter.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s"><\/SCRIPT>');
=================================================================================================*/
$(function () {
var MissingTopicsFilter = 'V0.31'; // 09.03.2008 19:45
var lastModDates = ['', ''];
var revision_id = '';
var permaLink = '';
function lastModified() {
var result = '';
if ( document.getElementById('lastmod') ) {
// "Diese Seite wurde zuletzt am nn. MMM YYYY um nn:nn Uhr geändert."
var lastMod = document.getElementById('lastmod').innerHTML;
temp = lastMod.indexOf(' am ');
if( temp > 0 ) {
result = lastMod.substr(temp+4);
result = result.substr( 0, result.indexOf(' Uhr') );
}
}
if ( lastModDates[0] == '' ) {
if ( typeof lastMod == 'undefined' ) {
lastModDates[0] = 'undef';
lastModDates[1] = 'undef';
if ( document.getElementById('viewingold-plain') ) {
// "Version vom nn:nn, nn. MMM. YYYY von "
var obj = document.getElementById('viewingold-plain');
lastModDates[0] = document.getElementById('viewingold-plain').firstChild.data;
lastModDates[0] = lastModDates[0].replace(/\n/, '');
lastModDates[0] = lastModDates[0].substr( 0, lastModDates[0].indexOf(' von') );
lastModDates[1] = lastModDates[0];
}
} else {
lastModDates[0] = lastMod;
if ( result != '' ) {
lastModDates[1] = result;
}
}
if ( document.getElementById('t-permalink') ) {
permaLink = document.getElementById('t-permalink').firstChild.href;
} else {
var old_id = window.location.href.replace(/(.+?)(oldid=)(\d+?)/, '$3');
revision_id = wgCurRevisionId;
if ( old_id.substr(0,7) != 'http://' ) {
revision_id = old_id;
}
permaLink = wgServer + '/wiki/'
+ wgPageName
+ '?oldid=' + revision_id;
}
}
}
if ( window.location.href.indexOf('#MissingTopicsFilter') > 0 ) {
lastModified();
var nodeData;
var table2 = '',
rLinks = 0,
bLinks = 0,
altDIV1 = '<div style="border:1px solid gray; padding:1px 5px 1px 5px;">'
+ '<b>[[Benutzer:ParaDox/monobook/MissingTopicsFilter.js|Entfernte Zeilen]]</b>'
+ ' (aus [' + permaLink + ' ' + lastModDates[1] + '])',
altDIV2 = '',
ignorTD = false
;
var TD = document.getElementById('content').getElementsByTagName('TD');
var table1 = '{| class="prettytable"\n'
+ '|- class="hintergrundfarbe5"\n| colspan="2" align="center" '
+ '| [[Hilfe:Tabellen|WikiText-Tabelle]]'
+ ' mittels „[[Benutzer:ParaDox/monobook/MissingTopicsFilter.js]]“ ' + MissingTopicsFilter + '<br />'
+ 'Erwartet Tabellen-Format aus <i>[http://tools.wikimedia.de/~magnus/missingtopics.php the MissingTopics tool]</i>'
+ '\n'
;
if ( TD.length < 1 ) {
table1 += 'Keine Tabelle gefunden!\n';
} else {
var jetzt = new Date();
jetzt = jetzt.toLocaleString();
jetzt = jetzt.substr(0,jetzt.length-3);
for ( var i=0; i<TD.length; i++ ) {
if ( TD[i].firstChild.tagName == 'A' ) {
var neu = false;
if ( TD[i].firstChild.className == 'new' ) {
rLinks++;
neu = true;
} else {
bLinks++;
}
if ( neu ) {
// Spalte 1: Anzahl
table2 += '|-\n! '
+ TD[i].previousSibling.previousSibling.firstChild.data + '\n| ';
}
// Spalte 2
if ( neu && TD[i].childNodes.length < 1 ) {
table2 += '-leer-';
} else {
for ( var j=0; j<TD[i].childNodes.length; j++ ) {
if ( TD[i].childNodes[j].nodeType == 3 ) {
// evtl. noch weiterer Text
nodeData = TD[i].childNodes[j].data;
if ( neu ) table2 += nodeData
else altDIV2 += nodeData;
} else if ( TD[i].childNodes[j].nodeType == 1 ) {
// Wiki-Links
nodeData = '[[' + TD[i].childNodes[j].firstChild.data + ']]';
if ( nodeData != '[[WikiText-Tabelle]]' ) {
// ist nicht ScriptLink
if ( neu ) table2 += nodeData
else altDIV2 += ' {{Zeile|' + nodeData + '| <b>' + bLinks + '.</b>}}';
} else {
// ist ScriptLink-TD, also ignorieren und ignor-Flag für restliche TD-Zelle setzen
ignorTD = true;
if ( neu ) rLinks--
else bLinks--;
break;
}
}
}
if ( neu && !ignorTD ) table2 += '\n';
ignorTD = false;
}
}
}
}
if ( (bLinks == 0) || (altDIV2 == '') ) altDIV2 += '<b>Keine Veränderung.</b>';
altDIV1 += ' am ' + jetzt + '<b>:</b> ' + altDIV2 + '\n</div>\n\n';
var textContainer = document.createElement('TEXTAREA');
document.getElementsByTagName('H1')[0].appendChild(textContainer);
textContainer.rows = '20';
textContainer.value = altDIV1
+ table1
+ '|- class="hintergrundfarbe9"\n| colspan="2" align="center" | '
+ jetzt
//+ ' <small>vorher ' + TD.length + ' TD-Zellen insgesamt</small>'
+ '<br /><b>' + rLinks + ' rote Zeilen aus ' + (rLinks+bLinks) + ' behalten</b>'
+ ' (' + bLinks + ' blaue entfernt)\n'
+ '|- class="hintergrundfarbe6"\n! style="width:4em;" | Wanted || align="left" | Title\n'
+ table2 + '|}\n';
}
});