Benutzer:Seelenstaub/monobook.js
Zur Navigation springen
Zur Suche springen
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
// [[User:Lupin/popups.js]]
mw.loader.load(
'https://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js'
+ '&action=raw&ctype=text/javascript&dontcountme=s');
//<pre>
// Script to embed interactive maps into pages that have coordinate templates
// also check my commons page [[:commons:User:Dschwen]] for more tools
//
// defaults
//
var wikiminiatlas_coordinate_region = '';
var wikiminiatlas_width = 500;
var wikiminiatlas_height = 300;
var wikiminiatlas_iframeurl = 'http://up2p77.gwdg.de/~daniel/MiniWikiAtlas/iframe.html';
var wikiminiatlas_imgbase = 'http://up2p77.gwdg.de/~daniel/MiniWikiAtlas/tiles/';
//
// globals
//
var wikiminiatlas_iframe = null;
//
// Insert the IFrame into the page.
//
function wikiminiatlasLoader()
{
var coordinates = document.getElementById('coordinates');
if (coordinates != null && wikiminiatlas_iframe == null)
{
var coord_index = (coordinates.innerHTML).indexOf('params=');
if(coord_index>-1)
{
var coord_params = (coordinates.innerHTML).substr(coord_index+7);
// en.wp coordinates
var coord_filter = /([\d+-.]+)_([NS])_([\d+-.]+)_([EW])_/;
if(coord_filter.test(coord_params))
{
coord_filter.exec(coord_params);
wikiminiatlas_marker_lat=RegExp.$1;
if(RegExp.$2=='S') wikiminiatlas_marker_lat*=-1;
wikiminiatlas_marker_lon=RegExp.$3;
if(RegExp.$4=='W') wikiminiatlas_marker_lon*=-1;
}
// de.wp coordinates
coord_filter = /([\d+-.]+)_([\d+-.]+)_([\d+-.]+)_([NS])_([\d+-.]+)_([\d+-.]+)_([\d+-.]+)_([EW])_/;
if(coord_filter.test(coord_params))
{
coord_filter.exec(coord_params);
wikiminiatlas_marker_lat=(1.0*RegExp.$1) + (RegExp.$2/60.0) + (RegExp.$3/3600.0);
if(RegExp.$4=='S') wikiminiatlas_marker_lat*=-1;
wikiminiatlas_marker_lon=(1.0*RegExp.$5) + (RegExp.$6/60.0) + (RegExp.$6/3600.0);
if(RegExp.$8=='W') wikiminiatlas_marker_lon*=-1;
}
// de.wp coordinates
coord_filter = /([\d+-.]+)_([\d+-.]+)_([NS])_([\d+-.]+)_([\d+-.]+)_([EW])_/;
if(coord_filter.test(coord_params))
{
coord_filter.exec(coord_params);
wikiminiatlas_marker_lat=(1.0*RegExp.$1) + (RegExp.$2/60.0);
if(RegExp.$3=='S') wikiminiatlas_marker_lat*=-1;
wikiminiatlas_marker_lon=(1.0*RegExp.$4) + (RegExp.$5/60.0);
if(RegExp.$6=='W') wikiminiatlas_marker_lon*=-1;
}
}
var region_index = (coordinates.innerHTML).indexOf('region:');
if(region_index>-1)
{
wikiminiatlas_coordinate_region = (coordinates.innerHTML).substr(region_index+7);
wikiminiatlas_coordinate_region = wikiminiatlas_coordinate_region.substr(0,wikiminiatlas_coordinate_region.indexOf('"'));
}
WikiMiniAtlasHTML = ' <a href="#" onclick="return toggleWikiMiniAtlasIFrame();">Atlas</a>';
WikiMiniAtlasHTML += '<div id="wikiminiatlas_iframe" style="position:absolute; right:2em; top: 1em; width:'+(wikiminiatlas_width+12)+'px; height:'+(wikiminiatlas_height+12)+'px; background-color: white; padding: 0px; margin: 0px; visibility: hidden; border: 1px solid gray">';
WikiMiniAtlasHTML += '<img src="'+wikiminiatlas_imgbase+'button_hide.png" style="z-index:10; position:absolute; right:11px; top: 11px; width:18px; cursor:pointer" onclick="toggleWikiMiniAtlasIFrame()">'
WikiMiniAtlasHTML += '<iframe style="position:absolute; right:1px; top: 1px; width:'+(wikiminiatlas_width+10)+'px; height:'+(wikiminiatlas_height+10)+'px; background-color: white; padding: 0px; margin: 0px;" src="'+wikiminiatlas_iframeurl+'?'+wikiminiatlas_marker_lat+'_'+wikiminiatlas_marker_lon+'_'+wikiminiatlas_width+'_'+wikiminiatlas_height+'_'+window.location.host.substr(0,2)+'" scrolling="no" border="0"></div>';
coordinates.innerHTML = coordinates.innerHTML + WikiMiniAtlasHTML ;
wikiminiatlas_iframe = document.getElementById('wikiminiatlas_iframe');
}
}
//
// Hook up instalation function
//
$(wikiminiatlasLoader);
function toggleWikiMiniAtlasIFrame()
{
if(wikiminiatlas_iframe.style.visibility != "visible")
{
wikiminiatlas_iframe.style.visibility="visible";
}
else
{
wikiminiatlas_iframe.style.visibility="hidden";
}
return false;
}
//</pre>
// Rechtschreibprüfung
document.write('<SCRIPT SRC="http://de.wikipedia.org/w/index.php?title=Benutzer:APPER/RP/js&action=raw&ctype=text/javascript"><\/SCRIPT>');
// Nach dem Vorbild der bereits vorhandenen Listen wird eine neue Box in der
// Navigationsleiste installiert, die einen Link zu den letzten IP-Editings enthält
function createLinksSidebar() {
// Elemente der Box erstellen.
var divPortlet = document.createElement("div");
var h5 = document.createElement("h5");
var h5Text = document.createTextNode("Beobachtungsliste");
var divPbody = document.createElement("div");
var ul = document.createElement("ul");
// Mit Attributen ausrüsten.
divPortlet.setAttribute("id", "p-link");
divPortlet.setAttribute("class", "portlet");
divPbody.setAttribute("class", "pBody");
ul.setAttribute("id", "u-link")
// Spalte suchen.
var column = document.getElementById("column-one");
// Box einbauen.
column.appendChild(divPortlet);
divPortlet.appendChild(h5);
h5.appendChild(h5Text);
divPortlet.appendChild(divPbody);
divPbody.appendChild(ul);
// Link erstellen.
var li = document.createElement("li");
li.style.whiteSpace = "nowrap";
ul.appendChild(li);
var a = document.createElement("a");
a.setAttribute("href", "http://de.wikipedia.org/w/index.php?title=Spezial:Recentchanges&hideliu=1&limit=50");
a.setAttribute("title", "Letzte IP-Änderungen");
li.appendChild(a);
var aText = document.createTextNode("IP-Editings");
a.appendChild(aText);
}
// Alle Wikilinks innerhalb des Artikels werden gesammelt.
// Anschließend werden sie in der Liste angezeigt und mehrfache Links im
// Artikeltext markiert.
function showRedundantLinks() {
// "Aktivieren"-Link (inkl Listenelement) entfernen.
var ul = document.getElementById("u-link");
ul.removeChild(ul.firstChild);
// Alle Links im Artikeltext sammeln.
var links = document.getElementById("bodyContent").getElementsByTagName("a");
// Regexps zur Bestimmung der relevanten Links.
var regexpExist = /^\/wiki\/(.+)$/;
var regexpNotExist = /^\/w\/index\.php\?title=(.+)\&action=edit$/;
var regexpExclude = /^\/w(iki)?\/(index\.php\?title=)?(Bild|Benutzer|Benutzer_Diskussion)\:(.+)$/;
// Nur relevante Links in neues Array speichern.
// Dabei werden jeweils eine Referenz auf den Link im Artikel und ein Klon
// für die Linkleiste gespeichert.
var linkCount1 = links.length;
var linkNodes = new Array();
for (var i=0; i < linkCount1; ++i) {
if (links[i].getAttribute("title") && !regexpExclude.test(links[i].getAttribute("href")) && (regexpExist.test(links[i].getAttribute("href")) || regexpNotExist.test(links[i].getAttribute("href")))) {
linkNodes.push(new Array(links[i].cloneNode(true), links[i]));
}
}
// Bei Links für Linkleiste den Linktext mit Title-Attribut überschreiben.
var linkCount2 = linkNodes.length;
for (var i=0; i < linkCount2; ++i) {
var linkTitle = linkNodes[i][0].getAttribute("title");
var linkText = document.createTextNode(linkTitle);
linkNodes[i][0].replaceChild(linkText, linkNodes[i][0].firstChild);
// Attribute und Funktionsaufrufe für Highlighting.
// Leerzeichen werden durch Unterstriche ersetzt.
var linkTitleClass = linkTitle;
linkTitleClass = linkTitleClass.replace(/\s/g, "_");
linkNodes[i][0].addAttributeValue("class", linkTitleClass);
linkNodes[i][0].setAttribute("onmouseover", "highlight(\""+linkTitleClass+"\", true)");
linkNodes[i][0].setAttribute("onmouseout", "highlight(\""+linkTitleClass+"\", false)");
linkNodes[i][1].addAttributeValue("class", linkTitleClass);
linkNodes[i][1].setAttribute("onmouseover", "highlight(\""+linkTitleClass+"\", true)");
linkNodes[i][1].setAttribute("onmouseout", "highlight(\""+linkTitleClass+"\", false)");
}
// Hilfsarray vorbereiten und Sortierungsfunktion aufrufen.
b = new Array(((linkNodes.length)-(linkNodes.length%2))/2);
linkNodes.mergesort(0, linkNodes.length-1);
// Links im Artikeltext mit Zähler ausstatten.
for (var i=1; i < linkCount2; ++i) {
var equal = true;
var j = 1;
while (equal == true) {
if(i >= j && (linkNodes[i][0].firstChild.nodeValue == linkNodes[i-j][0].firstChild.nodeValue)) {
j++;
}
else {
equal = false;
// Nur bei mehrfachvorkommenden Links Zähler einfügen.
if (j != 1) {
var span = document.createElement("span");
linkNodes[i][1].appendChild(span);
var spanText = document.createTextNode(" (" + j + ")");
span.appendChild(spanText);
span.setAttribute("class", "redundantLinkMark"); // Klasse für (n).
}
}
}
}
// Links in Linkleiste schreiben (jeweils mit Listenelement).
for (var i=0; i < linkCount2; ++i) {
var li = document.createElement("li");
ul.appendChild(li);
li.style.whiteSpace = "nowrap";
li.appendChild(linkNodes[i][0]);
}
}
// onload
aOnloadFunctions[aOnloadFunctions.length] = createLinksSidebar;