Benutzer:Ivla/vector.js

aus Wikipedia, der freien Enzyklopädie
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
  • Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
  • Opera: Strg+F5
// ################  Make room! #############################################

$(document).ready( function () {
	
	// + missing links to editform in previews for .js and .css
	if ( document.getElementById("userjspreview") ) {
		document.getElementById("userjspreview").firstElementChild.innerHTML += '<a href="#editform">→ Zum Bearbeitungsfeld gehen</a>'
	}
	if ( document.getElementById("usercsspreview") ) {
		document.getElementById("usercsspreview").firstElementChild.innerHTML += '<a href="#editform">→ Zum Bearbeitungsfeld gehen</a>'
	}

    // stolen from https://en.wikipedia.org/wiki/MediaWiki:Gadget-addsection-plus.js
    // more tabs shortened now

	var tab, tablink;
    tab = document.getElementById('ca-addsection');
    if ( tab ) {
        tablink = tab.getElementsByTagName('a')[0];
        if ( tablink ) {
        	tablink.firstChild.nodeValue = '+';
        }
    }
    tab = document.getElementById('ca-history');
    if ( tab ) {
        tablink = tab.getElementsByTagName('a')[0];
        if ( tablink ) {
        	tablink.firstChild.nodeValue = 'Vers.';
        }
    }
    tab = document.getElementById('ca-talk');
    if ( tab ) {
        tablink = tab.getElementsByTagName('a')[0];
        if ( tablink ) {
        	tablink.firstChild.nodeValue = 'Disk.';
        }
    }
    tab = document.getElementById('ca-viewsource');
    if ( tab ) {
        tablink = tab.getElementsByTagName('a')[0];
        if ( tablink ) {
        	tablink.firstChild.nodeValue = 'Source';
        }
    }
});

// ####################### iw-Links entfernen ###############################

// mw.loader.load('//www.wikidata.org/w/index.php?title=User:Yair_rand/checksitelinks.js&action=raw&ctype=text/javascript');

// ##################### DefLinkhinweis.js #############################

// bei der Cookie-Abfrage mit jQuery.cookie() soll eigentlich mw.loader.using benutzt werden, 
// sobald hier was schiefgeht einbauen.
jQuery(document).ready(function() {
  if(wgNamespaceNumber == 0 && jQuery.cookie("DefLinkhinweis-Toggle") != "off") {  // Cookie-Abfrage zum Abschalten
    mw.loader.load("//de.wikipedia.org/w/index.php?title=User:Ivla/js/DefLinkhinweis.js&action=raw&ctype=text/javascript&maxage=604800&smaxage=86400", "text/javascript");
  }
});

// #################### filterContributions.js #######################

importScript('Benutzer:TMg/filterContributions.js'); //[[Benutzer:TMg/filterContributions.js]]

// ################### listpageoptions ###############################
// http://de.wikipedia.org/wiki/Benutzer:PerfektesChaos/js/listPageOptions
// erst mal ohne Konfiguration 
mw.loader.load("//en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/listPageOptions/r.js&action=raw&ctype=text/javascript&maxage=604800&smaxage=86400&*",
               "text/javascript");

// ###################### resultListSort ##############################

// [[Benutzer:PerfektesChaos/js/resultListSort]]
if ( typeof mw.libs.resultListSort !== "object" ) {
   mw.libs.resultListSort  =  { auto: [ "LinkSearch", "Whatlinkshere" ]
// möglich:  "Contributions", "LinkSearch", "Search", "Whatlinkshere" 
                              };
   mw.libs.resultListSort.group  =  true;
}
mw.loader.load("//www.mediawiki.org/w/index.php?title=User:PerfektesChaos/js/resultListSort/r.js&action=raw&ctype=text/javascript",
               "text/javascript");
// 
// ************ Schnark **********************************************************************
// für Cookies http://de.wikipedia.org/w/index.php?title=Spezial:Leerseite&action=schnark-config 
//<nowiki>
// var usersignature='–&nbsp;[[Benutzer:Ivla|Ivla]]{{subst:#ifeq:{{ERS:BASEPAGENAME}}|Ivla||[[Benutzer Diskussion:Ivla|<sup>Disk.</sup>]]}}';
//</nowiki>
// var article_stat = { on_all_pages: true }; // für artikel-statistik.js
mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/fliegelflagel.js&action=raw&ctype=text/javascript&maxage=86400&smaxage=86400'); //[[Benutzer:Schnark/js/fliegelflagel.js]]



// ###################   WikiSyntaxTextMod #####################################
// [[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]]

// die nächste Zeile deaktiviert das, hoffentlich, eingefügt 13.07.2020
mw.libs.WikiSyntaxTextMod.config.load.inhibit  =  true;


mw.libs.WikiSyntaxTextMod  =  { config:  { lang: { },
                                           load: { },
                                           mod: { },
                                           page: { },
                                           portlet: true
                                         }
                              };
// mw.libs.WikiSyntaxTextMod.config.load.updater = "Beobachtungsliste";
// Cookie-Check auf aktuelle WSTM-Version bei Besuch der Seite, RegEx

mw.libs.WikiSyntaxTextMod.config.page.oldid  =  false;
// lässt auch Bearbeitung alter Versionen zu   aus, weil WSTM dann mit aktueller Version abgleicht


// verhindert automatischen Start. Würde ich gern benutzen, wenn Toggle per Cookie möglich
if(jQuery.cookie("WSTM-Toggle") == "off") {          // Cookie-Abfrage, um gelegentlich ausschalten zu können
   mw.libs.WikiSyntaxTextMod.config.load.inhibit  =  true;
}

mw.libs.WikiSyntaxTextMod.config.page.include  =  [
          ":dewiki:Benutzer:Ivla/",
          ":dewiki:Benutzer:Half-Bot/",
          // ":dewiki:Benutzer:PerfektesChaos/test/.*richt",
          ":dewiki:Hilfe:",
          ":dewiki:Wikipedia:Spielwiese"
          // "Vorlage:.+/(Doku|Meta)"
                                                  ];
/* mw.libs.WikiSyntaxTextMod.config.page.exclude  =  [
          ":dewiki:Wikipedia:Fragen zur Wikipedia",
          ":dewiki:Wikipedia:.*Abstimmung",
                                                  ];
*/

mw.libs.WikiSyntaxTextMod.config.mod.plain  =  [
                 ["(\n[*#:;]+)([^\n *#:;])",     // berücksichtigt nicht \n [*# ......
                  "$1 $2"],
                 ["(\n[*#:;]+)(?=\\{\\{)",       // mit lookahead wird die Vorlage gar 
                                                 // nicht in den Treffer einbezogen
                  "$1 "],
                 ["\n: +\\{\\|",
                  "\n:{|"]
                                               ];

mw.loader.load("//en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/WikiSyntaxTextMod/r.js&action=raw&ctype=text/javascript&maxage=604800&smaxage=86400",
               "text/javascript");


// *********************** markAdmins.js ****************************************************
// Einstellungen für [[Benutzer:PDD/markAdmins.js]], hier per Gadgets geladen

var markadmins = true;          // Admins u.ä. besonders hervorheben?
var marksubpages = true;              // auch Links auf Admin-Unterseiten markieren?
var mawatchlist = true;               // auch auf der Beobachtungsliste?
var macontribs = true;                // auch auf den Benutzerbeiträgen?
var markatxt = "A";              // Markierung für Admins
var markrenatxt = "A-Ren";       // Markierung für umbenannte Admins
var markbureautxt = "B";         // Markierung für Bürokraten
var markstewtxt = "S";           // Markierung für Stewards
 
var markcomadmins = true;      // zusätzlich: Commons-Admins besonders hervorheben?
var markcomatxt = "Com-A";       // Markierung für Commons-Admins
var markwdadmins = true;      // zusätzlich: Wikidata-Admins besonders hervorheben?
var markwdatxt = "WD-A";       // Markierung für Wikidata-Admins
 
var markexadmins = true;       // zusätzlich: Ex-Admins besonders hervorheben?
var markexatxt = "Ex-A";         // Markierung für Ex-Admins
var markexbureaucrats = true;       // zusätzlich: Ex-Bürokraten besonders hervorheben?
var markexbureautxt = "Ex-B";    // Markierung für Ex-Bürokraten
 
var markarbcom = true;         // zusätzlich: Schiedsgericht besonders hervorheben?
var markarbcomtxt = "SG";        // Markierung für Schiedsgerichtler
 
var markcheckuser = true;      // zusätzlich: CheckUser besonders hervorheben?
var markcheckusertxt = "CU";     // Markierung für Checkuser-Berechtigte
var markombudsmantxt = "Omb";      // Markierung für Ombudspersonen

var markoversight = true;      // zusätzlich: Oversights besonders hervorheben?
var markoversighttxt = "OS";     // Markierung für Oversight-Berechtigte

// in markMentors.js ebenfalls benötigte Variablen, die sind untere
// http://de.wikipedia.org/wiki/Wikipedia:Mentorenprogramm/Richtlinien 
// mit leicht anderem Aufruf (mit typeof) beschrieben  
// page type variables: namespace == -1  // 
var isSpecial  = (wgCanonicalNamespace == "Special");
var isContrib = (isSpecial && (wgTitle == "Contributions"));
var isWatchlist = (isSpecial && (wgTitle == "Watchlist"));

var version = "Override";

//  *********************** markMentors.js ****************************************************

// [[Benutzerin:Anka Friedrich/markMentors.js]]
var markmentors = true;    // Mentoren besonders hervorheben?
var markmsubpages = true;  // auch Links auf Mentoren-Unterseiten markieren?
var mmwatchlist = true;    // auch auf der Beobachtungsliste?
var mmcontribs = true;     // auch auf den Benutzerbeiträgen?
var markmtxt = "M";        // Markierung für Mentoren

// if-Abfragen hier weggelassen, noch ist ja alles auf "true"
importScript('Benutzer:Anka Friedrich/markMentors.js');

// ************************ Wikiblame einbinden ***************************************
// selbst zusammengefrickelt
// http://de.wikipedia.org/wiki/Wikipedia:Technik/Skin/GUI#addPortletLink
// Hotkey? r für alt-r  // r ist nur schon für Letzte Änderungen in 
// Gebrauch per http://de.wikipedia.org/wiki/MediaWiki:Accesskey-n-recentchanges
// mögliche Lösung nach http://de.wikipedia.org/wiki/Wikipedia_Diskussion:Tastaturkombinationen#Seite_speichern_per_Tastatur_abschalten
// document.getElementById("n-recentchanges").removeAttribute("accesskey"); //so springt alt-shift-r weiterhin zu Letzte Änderungen, allerdings ohne dass die aufgerufen werden.
//Accesskey entfernen
var wegda = document.getElementById("n-recentchanges");
if (wegda!= null) {
   wegda.removeAttribute("accesskey");
}
mw.util.addPortletLink('p-cactions', "javascript:ramsele()" , "Wikiblame", 'ca-wikiblame', "Wikiblame aufrufen", "r");
//document.getSelection() funktioniert hier nicht
// in Funktion verlagert:
// 'http://www.wikipedia.ramselehof.de/wikiblame.php?user_lang=de&lang=de&project=wikipedia&article=' + uSeitenname + '&needle=' + 'javascript:document.getSelection(' + ');'

function ramsele() {
  var uri  =  "http://www.wikipedia.ramselehof.de/wikiblame.php?user_lang=de&lang=de&project=wikipedia&article="
    + mw.util.wikiUrlencode( mw.config.get( 'wgPageName' ) )
    + '&needle='
    + document.getSelection();
    window.open(uri);
} // läuft

/* / ***************** Provisorium für Navigation-PopUps ********************************
// Hier auskommentiert. Überflüssig, solange ich "meine" abgewandelte 
// Version von NavPopUps benutze.
// if(wgPageName == "Spezial:Beobachtungsliste") {
if(wgAction == "view" || wgAction == "history") {    // Beo ist "view", Diffs iirc auch, "history" selbsterklärend
var RE_Beitraege = /Spezial:Beitr%C3%A4ge/ig;
    for (var i = 0; i < document.links.length; i++) 
    {       
      if(document.links[i].href.match(/Spezial:Beitr%C3%A4ge\/(.*)/)) 
      {
	document.links[i].href=document.links[i].href.replace(RE_Beitraege, "Special:Contributions");
        // document.links[i].target  =  "_new";  
      }
    }
}
*/

// ******************************* Navigation-Popups **************************************
// test wg. Darstellungsproblem unter IE8. Hilft dort ein bischen, aber meine Einstellung für NavPopups hierunter funktionieren damit nicht mehr.
// @import url('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-navpop.css&action=raw&ctype=text/css');
// Testweise wieder von hier, um veränderte Gadget-popups.js und Sprachdatei zu testen:
// mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:Ivla/popup-strings-de&action=raw&ctype=text/javascript');
// mw.loader.load('//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-popups.js&action=raw&ctype=text/javascript');
// mit Cookie-Abfrage, um gelegentlich ausschalten zu können, dann überflüssige Variablen auch nicht setzen

if(!(jQuery.cookie("Navpop-Toggle") == "off")) {
mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:Ivla/work/js/en-Gadget-popups.js&action=raw&ctype=text/javascript');
mw.loader.load('//de.wikipedia.org/w/index.php?title=Benutzer:Ivla/popup-strings-de&action=raw&ctype=text/javascript');
mw.loader.load(location.protocol + '//en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-navpop.css&action=raw&ctype=text/css', 'text/css');

// Konfigurationsvariablen für http://de.wikipedia.org/wiki/Wikipedia:Helferlein/Navigation-Popups
// sollte wohl auch mit der englischen gehen.
// Ja, es gibt aber kleine Abweichungen in den Hilfeseiten zum Gadget. 
// http://de.wikipedia.org/wiki/Wikipedia:Helferlein/Navigation-Popups
// http://en.wikipedia.org/wiki/Wikipedia:Tools/Navigation_popups
// Vor allem steht in en-WP nichts (mehr, seit etwa 14.03.2012) von var = xxx; 
// sondern window.xxx, und default für popupStructure ist shortmenus, nicht menus

// var popupDabRegexp = '\\{\\{\\s*Begriffsklärung[^}]*)?\\s*[}][}]'; // nimmt IE9 wohl übel
var popupHistoryPreviewLimit = 40; //test
// var popupDraggable = false; // per Cookie bisher unwirksam bei mir. Per Eintrag hier ging es.
// fehlt in engl. Doku., in dt. falsch popupDragging, das hatte Lupin tatsächlich vor Urzeiten mal in die engl. Doku. geschrieben, ist dort aber längst wieder raus.
// var popupSubpopups = false; // per Cookie bisher unwirksam bei mir. Hier nicht, nach längerer Anlaufzeit (Cache?). Es werden weder für die Links in den Menüs noch in der Vorschau Popups generiert.
var popupStructure = 'menus'; // Default ist menus (laut dt. Beschreiung; lt. engl. 'shortmenus', die engl. Beschreibung stimmt)
// original macht die Menüpunkte besser erreichbar, enthält aber nicht vollständig alle
var popupShortcutKeys = true;  // Default false
var popupMaxWidth = 550;  // false oder Ganzzahl, Default 300. bei false volle Bildschirmbreite, muss nicht sein.
var popupExtraUserMenu ='<menurow><<monobook|shortcut=M>>|<<editMonobook|edit>></menurow><menurow><<vector|shortcut=V>>|<<editVector|edit>></menurow>';
// experimentell ,  mal mit Werten eines en-Testaccounts: geht. Erweitert um (weitere Reihe?) für vector.js
var popupCookies = true;     // experimenell (seit Jahren), funktioniert. Cookies scheinen Vorrang vor den hier eingestellten Werten zu haben. 
var popupPreviewKillTemplates = false;	 // Default true, Vorlagen aus Vorschautext gelöscht, false=  Wikitext
var popupPreviewRawTemplates = false;	// Default true, Seiten im Vorlagen:-Namensraum) werden komplett als Wikitext dargestellt, andernfalls werden sie im Preview dargestellt. 
var popupPreviewFirstParOnly = false;  // Default true: nur der erste Absatz eines Artikels wird dargestellt
var popupMaxPreviewSentences = 12;  // eine Ganzzahl, 4	Vorschau kann auf wiedergegebene Satzanzahl begrenzt werden 
var popupMaxPreviewCharacters = 1800;	// eine Ganzzahl, 600	Vorschau kann auf Zeichenzahl begrenzt werden 
var popupOnlyArticleLinks = false;  // Default true If true, then popups are only generated for
// links in the article. Otherwise, many other links (such as Edit, Help) get popups too

// var removeTitles = false; // Default true, wahrsch. auch besser 
var popupPreviewCutHeadings = false; // experimental
var popupFixDabs = true; // Default false.  Ähnlich der popupFixRedirs-Option kann man Links auf Begriffsklärungsseiten einfach korrigieren, indem man einen der Links im unteren Popup-Bereich öffnet. 
var popupFixDabsSummary = "BKL aufgelöst"; // absichtlich mal ohne var als Test . Erstes %s im String BKS, zweites Zielseite
// in http://de.wikipedia.org/wiki/Wikipedia:Helferlein/Navigation-Popups kommt popupDabRegexp nicht vor, bisher auch nur im Source gesehen. Und da sieht es nicht so aus, als könnte das BKLs auf de erfassen. 
var popupNewWindows = true; // Default false; nicht dokumentiert: die Links aus den Menüs (aber nur die, nochmal durchsehen!) werden in neuem Browserfenster/Tab geöffnet
var popupLinksNewWindow = true; // Default false; nicht dokumentiert: vermutlich: auch die Links aus der Vorschau werden in neuem Browserfenster/Tab geöffnet. Nö. Was also macht das?
}

// ######################## ISBN ################################################
// von PerfektesChaos vorgeschlagen
function ISBN2stadtbibliothek() {
   var got;
   var i;
   var re     =  /\/wiki\/Spezial:ISBN-Suche\/([-0-9]+[xX]?)$/;
   var swift  =  "_new";    // immer ganz neuen Tab/Fenster
            //   "_self";   // im selben Fenster bleiben
            //   "ISBN";    // in anderem Fenster, aber immer demselben
   for (i = 0;  i < document.links.length;  i++) {
      got  =  re.exec(document.links[i].href);
      if (got !== null) {
         
         // document.links[i].href  = "http://www.ubka.uni-karlsruhe.de/kvk.html?SB=" + got[1];
         // document.links[i].target  =  swift;
         // document.links[i].onclick  =  meineISBNsuche(got[1]);  // nix.
         
         // document.links[i].href  =  "javascript:alert( got[1] );" // beim Anklicken auf der 
         // Chrome-Console: Uncaught ReferenceError: got is not defined
         // document.links[i].href  =  "javascript:alert(" + got[1] + ");" // und so? Nö:
         // Uncaught SyntaxError: Unexpected token ILLEGAL

         // document.links[i].href  =  "javascript:alert('" + got[1] + "');" // Strike!
         // und das versuchen wir jetzt für den Funktionsaufruf:
         // document.links[i].href  =  "javascript:meineISBNsuche(" + got[1] + ");" // Nö:
         // Uncaught SyntaxError: Unexpected token ILLEGAL
         document.links[i].href  =  "javascript:meineISBNsuche('" + got[1] + "');" // mit href richtig. Endlich.

         //document.links[i].href  =  "javascript:meineISBNsuche(got[1]);" // war mit ...href = geht gar nicht, bzw.
         // wird dann bei Mouseover angezeigt javascript:mein.. usw., anklicken bewirkt aber nichts.

      }
   }   // for i
}
 
if ( ! mw.config.get("wgNamespaceNumber") ) {
   if ( mw.config.get("wgAction") === "view" ) {
      jQuery(document).ready(ISBN2stadtbibliothek);
   }
}
function meineISBNsuche(ask) {
   var s  =  "<html><body><h1>ISBN " + ask + "</h1>\n"
           + "<ul>\n"
           + "<li><a href='http://de.wikipedia.org/w/index.php?title=Spezial%3AISBN-Suche&isbn=" + ask + "'>"
           +                     "Spezial:ISBN-Suche</a></li>\n"
           + "<li><a href='http://www.ubka.uni-karlsruhe.de/kvk.html?SB=" + ask + "' "
           +        "target='KVK'>KVK</a></li>\n"
           + "<li><a href='https://portal.d-nb.de/opac.htm?referrer=Wikipedia&method=simpleSearch&query=" + ask + "' "
           +        "target='DNB'>DNB</a></li>\n"
           + "</ul></body></html>";
   var w  =  window.open("", "meineISBN");
   w.document.write(s);
   return void(0);
}

// #################### unsigned.js : unsigniert #######################################
// [[Benutzer:Lustiger seth/unsigned.js]] die Doku ist auf der Disk., 
// verstreut in den Abschnitten. Fixen.
// var display_used = 0; // display signatures which are used already, default = 1
// var max_history_entries = 20;// number of entries of the unsigned-menu, default = 36
// Disk.: "zu den parametern: sind eigentlich nur 3 und diese sind am anfang des scripts aufgefuehrt"
// Ich finde auf der Disk. nur obige zwei, am Anfang des Skriptes sind vier, außer obigen:
// var max_nofe = 500; scheint fest zu sein.
// var ssubst = (typeof ssubst == 'undefined'||ssubst)? 'subst:' : ''; // ist nirgendwo erklärt

// Wünsche: 1) Hotkey, um nicht erst wieder hochscrollen zu müssen.
// oder Einbindung mit Button in WikiEditor (via Schnark), siehe auch
// Benutzer_Diskussion:Lustiger_seth/unsigned.js#Editorbutton_.26_Doku
// 2) vereinfachter Abgleich mit Versionsgeschichte (jetzt in anderem Tab)
//    am liebsten Ziehen des im Tab mit Navigation-PopUps identifizierten 
//    Beitrag an die Stelle, an der nachsigniert werden soll
// 3) bei > oder < zum Blättern nicht erst mit Return bestätigen

mw.loader.load('//de.wikipedia.org/w/index.php?title=user:lustiger_seth/unsigned.js&action=raw&ctype=text/javascript&maxage=43200&smaxage=43200&dontcountme=s'); 
// 43200  sollen 12 Stunden sein
// 2678400 müssten 31 Tage sein, war so von Skriptseite übernommen, dort nur smaxage

// #######    
// irgendwo abgeguckt, hauptsächlich um den fetten Copyrighthinweis zu erlegen #####
if (! wgIsArticle) {
  if (wgNamespaceNumber >= 0) {
    importStylesheet("Benutzer:Ivla/bearbeiten.css");
  }
}

// ###########  externISBN.js #######################################
// ersetzt durch Vorschlag von PerfektesChaos
// verschiedene Anbieter
// var book_source_URL = "http://www.amazon.com/gp/s?search-alias=stripbooks&field-isbn=MAGICNUMBER";
// var book_source_URL = "http://www.happy-book.de/catalog/advanced_search_result.php?keywords=MAGICNUMBER";
// var book_source_URL = "http://www.ubka.uni-karlsruhe.de/kvk.html?SB=MAGICNUMBER"; // reicht das ohne &kataloge=SWB&kataloge=GBV ?
// http://www.ubka.uni-karlsruhe.de/kvk.html?SB=9783836213974&kataloge=SWB&kataloge=GBV
// importScript('Benutzer:Ivla/externISBN.js');
// z.Z. abgeschaltet, externISBN.js aufräumen