Zum Inhalt springen

Benutzer:Noddy93/monobook.js

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 19. November 2006 um 23:40 Uhr durch Noddy93 (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

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
// <pre><nowiki>

// Variable um eine je nach Modus differenzierte Ausgabe zu ermöglichen (von Benutzer:BLueFiSH.as)
var docURL = document.URL;
var pagemode;
if      (docURL.indexOf('action=edit') > 0 || docURL.indexOf('action=submit') > 0) pagemode = 'edit';
else if (docURL.indexOf('action=delete') > 0)    pagemode = 'delete';
else if (docURL.indexOf('Spezial:Undelete') > 0) pagemode = 'undelete';
else if (docURL.indexOf('action=history') > 0)   pagemode = 'history';
else if (docURL.indexOf('&diff=') > 0)           pagemode = 'diff';
else if (docURL.indexOf('printable=yes') > 0)    pagemode = 'print';
else                                             pagemode = 'view';

// Unwatch-Link auf Beobachtungsseite, von en:Wikipedia:WikiProject
function unwatch() {
  var query_prefix = "title=Spezial:Watchlist&action=submit&remove=1&id[]=";
  //var query_prefix = "action=unwatch&title=";

  if (window.location.href.indexOf("Spezial:Watchlist") == -1) {
    return;
  }
  var links = document.getElementById('content').getElementsByTagName('a');
  for (var i = 0; i < links.length; i++) {
    if (links[i].href.substring(links[i].href.length-15) != '&action=history') {
      continue;
    }
    var unwatch = document.createElement('a');
    unwatch.href = "/w/index.php?" + query_prefix + encodeURIComponent(links[i].title);
    unwatch.title = "Unwatch "+links[i].title;
    unwatch.appendChild(document.createTextNode("Weg damit"));
    links[i].parentNode.insertBefore(unwatch, links[i].nextSibling);
    // kluge to handle case where "diff" is unlinked:
    var delim = links[i].previousSibling;
    delim = (delim.nodeType == 3 ? delim.nodeValue : "");
    links[i].parentNode.insertBefore(document.createTextNode(delim.replace(/^.*diff/, "")), unwatch);
  }
};

function $(id) {
  return document.getElementById(id);
}

function $$(name) {
  return document.getElementsByName(name);
}

//Die nächsten Sachen sind von mir:

//Links zu vorgefertigten Email-Texten
function emailLink() {
  if (window.location.href.indexOf("Spezial:Emailuser") == -1) {
    return;
  }
  var cbNode = $('wpCCMe');
  newShortcut(cbNode.parentNode, 'pasteBLUText()', 'BLU-Text');
}

//BLU-Text: Schau auf Deine Disk.!
function pasteBLUText() {

  var formNode = $('emailuser');
  var userName = formNode.getAttribute('action').replace(/.+target=/i, "").match(/[^\&]+/)[0];
  var text = "Hallo " + userName.replace(/\+/, ' ') + ",\n\n" +
    "es gibt Probleme mit Deinem Upload. Bitte schau auf Deine Wikipedia-Diskussionsseite " +
    "(http://de.wikipedia.org/wiki/Benutzer_Diskussion:" + userName.replace(/\+/, '_') + "). Solltest Du dann noch Fragen haben, " +
    "kannst Du sie dort gerne stellen (ich habe die Seite auf meiner Beobachtungsliste, bitte antworte nicht per E-Mail).\n\n" +
    "Schöne Grüße, Noddy93";
  $$('wpText')[0].value = text;
}

//Link zum Datei-Logbuch
function fileLogLink() {
  try {
    var liNode = document.createElement('li');
    var aNode = document.createElement('a');
    aNode.setAttribute('href', 'http://de.wikipedia.org/w/index.php?title=Spezial%3ALog&type=upload&user=&page=');
    aNode.appendChild(document.createTextNode('Datei-Logbuch'));
    liNode.appendChild(aNode);  
    var upNode = $('pt-userpage');
    upNode.parentNode.insertBefore(liNode, upNode);
  } catch (e) {}
}

//Shortcuts für SLA etc.
function createShortcuts() {
  var divNode = document.createElement('div');
  divNode.setAttribute('id', 'shortcuts');

  newShortcut(divNode, 'pasteLA()', 'LA');
  divNode.appendChild(document.createTextNode(' - '));

  newShortcut(divNode, 'pasteSLA()', 'SLA');
  divNode.appendChild(document.createTextNode(' - '));

  newShortcut(divNode, 'pasteBLUU()', 'BLUU');
  divNode.appendChild(document.createTextNode(' ('));

  newShortcut(divNode, 'pasteUrh()', 'Urheber');
  divNode.appendChild(document.createTextNode(', '));

  newShortcut(divNode, 'pasteLiz()', 'Lizenz');
  divNode.appendChild(document.createTextNode(') | '));

  newShortcut(divNode, 'pasteBQ()', 'Bildquelle');
  divNode.appendChild(document.createTextNode(' ('));

  newShortcut(divNode, 'pastePerm()', 'Permission');
  divNode.appendChild(document.createTextNode(') - '));

  newShortcut(divNode, 'pasteBLA()', 'Bild-LA');
  divNode.appendChild(document.createTextNode(' - '));

  newShortcut(divNode, 'pasteHallo()', 'Hallo');
  divNode.appendChild(document.createTextNode(' - '));

  newShortcut(divNode, 'pastePSSig()', 'PS:Sig');
  divNode.appendChild(document.createTextNode(' - '));

  newShortcut(divNode, 'pasteCNw()', 'code+nowiki');

//  divNode.appendChild(document.createTextNode(' - '));

//  newShortcut(divNode, 'transformFlags2()', 'Flaggendings2');
//  divNode.appendChild(document.createTextNode(' - '));

//  newShortcut(divNode, 'transformFlags3()', 'Flaggendings3');

//  newShortcut(divNode, 'transformFlags()', 'Flaggen: en->de');
//  divNode.appendChild(document.createTextNode(' - '));

//  newShortcut(divNode, 'transformDEFlags()', 'Flaggen: de-lang->de-kurz');

  var specCharNode = $('specialchars');
  var specParentNode = specCharNode.parentNode;
  specParentNode.removeChild(specCharNode.previousSibling.previousSibling);
  specParentNode.insertBefore(divNode, specCharNode);

}

function newShortcut(divNode, onClickFunc, label) {
  var newNode = document.createElement('a');
//  newNode.setAttribute('href', '#');
  newNode.setAttribute('onclick', onClickFunc);
  newNode.appendChild(document.createTextNode(label));
  divNode.appendChild(newNode);
}

function transformFlags() {

  //erstmal die ''' vor die Flagge setzen...
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{(flagicon\|[\w\s]*)\}\}\s\'\'\'(\[\[[^\]]+\]\])/g, "'''\{\{$1}\} $2");

  // ersetzt Strings der Form "{{flagicon|SUI}} [[Roger Federer|Federer]]" durch {{SUI|Roger Federer|Federer}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{flagicon\|([\w\s]*)\}\}\s\[\[([^\|^\]]+)\|([^\]]+)\]\]/g, '\{\{$1\|$2\|$3\}\}');

  // ersetzt Strings der Form "{{flagicon|SUI}} [[Roger Federer]]" durch {{SUI|Roger Federer|Roger Federer}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{flagicon\|([\w\s]*)\}\}\s\[\[([^\|^\]]+)\]\]/g, '\{\{$1\|$2|$2\}\}');
}

function transformDEFlags() {

  //erstmal die ''' vor die Flagge setzen...
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{(\w\w\w)\}\}\s\'\'\'(\[\[[^\]]+\]\])/g, "'''\{\{$1}\} $2");

  // ersetzt Strings der Form "{{SUI}} [[Roger Federer|Federer]]" durch {{SUI|Roger Federer|Federer}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{(\w\w\w)\}\}\s\[\[([^\|^\]]+)\|([^\]]+)\]\]/g, '\{\{$1\|$2\|$3\}\}');

  // ersetzt Strings der Form "{{SUI}} [[Roger Federer]]" durch {{SUI|Roger Federer|Roger Federer}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{(\w\w\w)\}\}\s\[\[([^\|^\]]+)\]\]/g, '\{\{$1\|$2|$2\}\}');
}

function transformFlags2() {

  // ersetzt Strings der Form "[[Sven Fischer|da Sven]] (GER)" durch {{GER|Sven Fischer|da Sven}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\[\[([^\|^\]]+)\|([^\]]+)\]\]\s\(([^\)]+)\)/g, '\{\{$3\|$1|$2\}\}');

  // ersetzt Strings der Form "[[Sven Fischer]] (GER)" durch {{GER|Sven Fischer|Sven Fischer}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\[\[([^\|^\]]+)\]\]\s\(([^\)]+)\)/g, '\{\{$2\|$1|$1\}\}');

  //Länderkürzel-Umwandlung, z.B. DDR -> GDR, D -> GER, Nor -> NOR
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Blr\|/g, '\{\{BLR\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Bul\|/g, '\{\{BUL\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{BRD\|/g, '\{\{FRG\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{D\|/g, '\{\{GER\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{DDR\|/g, '\{\{GDR\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Fin\|/g, '\{\{FIN\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Fra\|/g, '\{\{FRA\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Ita\|/g, '\{\{ITA\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Kan\|/g, '\{\{CAN\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Nor\|/g, '\{\{NOR\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Rus\|/g, '\{\{RUS\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{SU\|/g, '\{\{URS\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Swe\|/g, '\{\{SWE\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Tch\|/g, '\{\{TCH\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Ukr\|/g, '\{\{UKR\|');
}

function transformFlags3() {

  // ersetzt Strings der Form "[[Sven Fischer|da Sven]] ([[Deutschland|GER]])" durch {{GER|Sven Fischer|da Sven}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\[\[([^\|^\]]+)\|([^\]]+)\]\]\s\(\[\[[^\|]+\|([^\]]+)\]\]\)/g, '\{\{$3\|$1|$2\}\}');

  // ersetzt Strings der Form "[[Sven Fischer]] ([[Deutschland|GER]])" durch {{GER|Sven Fischer|Sven Fischer}}
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\[\[([^\|^\]]+)\]\]\s\(\[\[[^\|]+\|([^\]]+)\]\]\)/g, '\{\{$2\|$1|$1\}\}');

  //Länderkürzel-Umwandlung, z.B. DDR -> GDR, D -> GER, Nor -> NOR
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Blr\|/g, '\{\{BLR\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Bul\|/g, '\{\{BUL\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{BRD\|/g, '\{\{FRG\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{D\|/g, '\{\{GER\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{DDR\|/g, '\{\{GDR\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Fin\|/g, '\{\{FIN\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Fra\|/g, '\{\{FRA\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Ita\|/g, '\{\{ITA\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{JAP\|/g, '\{\{JPN\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Kan\|/g, '\{\{CAN\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Nor\|/g, '\{\{NOR\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Rus\|/g, '\{\{RUS\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{SU\|/g, '\{\{URS\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Swe\|/g, '\{\{SWE\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Tch\|/g, '\{\{TCH\|');
  $('wpTextbox1').value = $('wpTextbox1').value.replace(/\{\{Ukr\|/g, '\{\{UKR\|');
}

function pasteSLA() {
  $('wpSummary').value += "+SLA ";
  $('wpMinoredit').checked = true;

  var text = "{{Löschen}} ''.'' --~~~~\n----\n";
  pasteOnTop(text);
}

function pasteLA() {
  $('wpSummary').value += "+LA ";
  $('wpMinoredit').checked = true;

  var text = "{{subst:Löschantrag}} ''.'' --~~~~\n----\n";
  pasteOnTop(text);
}

function pasteBLUU() {
  $('wpSummary').value += "+subst:BLU-User ";
  $('wpMinoredit').checked = true;

  var text = "{{subst:BLU-User}} --~~~~\n----\n";
  pasteOnTop(text);
}

function pasteUrh() {
  var text = "== Beschreibung, Quelle ==\n{{Information\n|Beschreibung=\n|Quelle=\n|Urheber=\n|Datum=\n|Genehmigung=\n" +
   "|Andere Versionen=\n|Anmerkungen=\n}}\n";
  pasteAtCurrentPos(text, '');
}

function pasteLiz() {
  var text = "== Lizenz ==\nHier [[WP:LFB|Lizenzbaustein]] einfügen, z.&nbsp;B. <code><nowiki>{{Bild-CC-by-sa/2.0/de}}</nowiki></code>.\n";
  pasteAtCurrentPos(text, '');
}

function pasteBQ() {
  $('wpSummary').value += "+subst:Bildquelle ";
  $('wpMinoredit').checked = true;

  var text = "\n{{subst:Bildquelle|* [[:]]}}\n:Konkret: Ein [[WP:LFB|Lizenzbaustein]] sowie " +
   "Angaben zu [[Vorlage:Information/Verwendung|Quelle und Urheber]] fehlen.\n--~~~~";
  pasteOnBot(text);
}

function pastePerm() {
  var text = "Der Urheber des Bildes muß der Veröffentlichung unter einer bestimmten [[WP:LFB|Lizenz]] zustimmen. " +
   "Dazu schreibt er am besten eine E-Mail an Wikipedia; Genaueres und E-Mail-Vorlagen findest Du " +
   "[[WP:LFA#Was_ist_eine_Erlaubnis_.28Permission.29.3F|hier]].\n";
  pasteAtCurrentPos(text, '');
}

function pasteBLA() {
  $('wpSummary').value += "+Bild-LA ";
  $('wpMinoredit').checked = true;

  var text = "\n== [[:]] ==\nHallo, ich habe die Löschung des Bildes " +
   "vorgeschlagen; siehe [[Wikipedia:Löschkandidaten/Bilder/|hier]]. --~~~~";
  pasteOnBot(text);
}

function pasteHallo() {
  $('wpSummary').value += "+subst:Hallo ";
  $('wpMinoredit').checked = true;

  var text = "{{subst:Hallo}} --~~~~\n";
  pasteOnBot(text);
}

//Signaturhinweis als Post Scriptum
function pastePSSig() {
  var text = "\nPS: Bitte [[Wikipedia:Signatur|signiere]] Deine Diskussionsbeiträge, " +
   "indem Du <code>--&#126;&#126;&#126;&#126;</code> schreibst. Alternativ kannst du auch mit dem Signatur-Icon " +
   "([[Bild:Signature_icon.png]]) an der Oberseite des Eingabefeldes die vier [[Tilde|Tilden]] einfügen. Diese werden dann " +
   "automatisch in Deinen Benutzernamen und einen Zeitstempel umgewandelt.";
  pasteAtCurrentPos(text, '');
}

//schreibt <code><nowiki></nowiki></code> um die aktuelle Selection.
function pasteCNw() {
  var text1 = '<code><nowiki>';
  var text2 = '</nowiki></code>';
  pasteAtCurrentPos(text1, text2);
}

function pasteAtCurrentPos(text1, text2) {
  var tb = $('wpTextbox1');
  tb.focus();
  var start = tb.selectionStart;
  var end = tb.selectionEnd;
  var sel = tb.value.substring(start, end);
  tb.value = tb.value.substr(0, start) + text1 + sel + text2 + tb.value.substr(end);
  var pos = start + text1.length + sel.length + text2.length;
  tb.selectionStart = pos;
  tb.selectionEnd = pos;
  tb.focus();
}

function pasteOnTop(text) {
  var tb = $('wpTextbox1');
  tb.focus();
  tb.value = text + tb.value;
  tb.focus();
}

function pasteOnBot(text) {
  var tb = $('wpTextbox1');
  tb.focus();
  tb.value = tb.value + text;
  tb.focus();
}


//################################

function Init() {
  unwatch();
  fileLogLink();
  if (pagemode == 'edit') {
    createShortcuts();
  }
  emailLink();
}

if (pagemode != 'print') aOnloadFunctions[aOnloadFunctions.length] = Init;

// </nowiki></pre>