Benutzer:Migebert/monobook.js

aus Wikipedia, der freien Enzyklopädie

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
// Definition der Vorlage Internetquelle für "WikiSyntaxTextMod.config.mod.template" weiter unten
var vorIquelle = [ [ /^autor$/i,        "autor",         false],
                   [ /^url$/i,          "url",            true],
                   [ /^titel$/i,        "titel",          true],
                   [ /^titelerg$/i,     "titelerg",      false],
                   [ /^werk$/i,         "werk",          false],
                   [ /^hrsg$/i,         "hrsg",          false],
                   [ /^datum$/i,        "datum",         false],
                   [ /^seiten$/i,       "seiten",        false],
                   [ /^archiv-url$/i,   "archiv-url",    false],
                   [ /^archiv-datum$/i, "archiv-datum",  false],
                   [ /^abruf$/i,        "abruf",          true],
                   [ /^format$/i,       "format",        false],
                   [ /^sprache$/i,      "sprache",       false],
                   [ /^kommentar$/i,    "kommentar",     false],
                   [ /^zitat$/i,        "zitat",         false],
                   [ /^offline$/i,      "offline",       false] 
                     ];
var vorlageInternetquelle  =  [
					[ /author/i,       "autor",         false ],
					[ /last/i,         "autor",         false ],
					[ /first/i,        "autor",         false ],
					[ /^url$/i,        "url",           false ],
					[ /title/i,        "titel",         false ],
					[ /newspaper/i,    "werk",          false ],
					[ /magazine/i,     "werk",          false ],
					[ /work/i,         "werk",          false ],
					[ /journal/i,      "werk",          false ],
					[ /publisher/i,    "hrsg",          false ],
					[ /page/i,         "seiten",        false ],
					[ /^date$/i,       "datum",         false ],
					[ /year/i,         "datum",         false ],
					[ /archiveurl/i,   "archiv-url",    false ],
					[ /archive-url/i,  "archiv-url",    false ],
					[ /archivedate/i,  "archiv-datum",  false ],
					[ /archive-date/i, "archiv-datum",  false ],
					[ /publisher/i,    "hrsg",          false ],
					[ /language/i,     "sprache",       false ],
					[ /lang/i,         "sprache",       false ],
					[ /comment/i,      "kommentar",     false ],
					[ /quote/i,        "zitat",         false ],
					[ /deadurl/i,      "offline",       false ],
					[ /accessdate/i,   "zugriff",       false ]
                    ];

var Striche = String.fromCharCode(45, 173, 8208, 8209, 8210, 8211, 8212, 8213, 8722);
var B_JoK = "(1[789][0-9][0-9]|20[0-3][0-9])";

mw.libs.WikiSyntaxTextMod  =  { config:  { lang: { },
                                           load: { },
                                           mod:  { },
                                           page: { }
                                         }
                              };
// Definition, welche Seiten bei WSTM mit einbezogen werden sollen
mw.libs.WikiSyntaxTextMod.config.page.include = [":dewiki:Hilfe:",
                                                 ":dewiki:MediaWiki:",
                                                 ":dewiki:Benutzer:Migebert",
                                                 ":dewiki:Vorlage:"];
//                                                 ":dewiki:Wikipedia:"];
                              
// Definition, was vom [[Wikipedia:WikiProjekt Syntaxkorrektur]] ausgebessert werden soll
mw.libs.WikiSyntaxTextMod.config.mod.plain  =  [
   // ID:38 => HTML-Textformatierungselement <i> (kursiv)
   		["([^'])<(em|i)>([^'<\n]+)</ *\\2>([^'])", "$1''$3''$4"],
   // ID:57 => Überschrift mit Doppelpunkt
   		["\n(==+) *(.+): *\\1 *\n", "\n$1 $2 $1\n"],
   // ID:59 => Vorlagenwert endet mit Zeilenumbruch
   		["(\\| *[A-Za-z_0-9]+ *=[^|=\n])<br /> *(\n? *\\| *[A-Za-z_0-9]+ *=)", "$1$2"],
   // ID:69 => ISBN mit falscher Syntax
      //Doppeltes ISBN entfernen
    	[" ISBN\\,? ISBN ?([0-9])", " ISBN $1"],
      // Klammer um ISBN entfernen
    	["\\( ?ISBN ([-0-9X]+) ?\\)", "ISBN $1"],
      // Strich vor ISBN entfernen
    	[" [" + Striche + "] ?ISBN ([-0-9X]+)", " ISBN $1"],
      //* ISBN-Nr.
    	[" *ISBN ?-? ?(Nr\\.?)?:? *(\\d)", " ISBN $2"],
      // ISBN:, ISBN-10, ISBN-13, ISBN-10:, ISBN-13: ersetzen
    	[" ISBN(?:-1[03]: ?|-1[03] |: ?)([0-9])", " ISBN $1"],
    // ID:102 = PMID mit falscher Syntax
      // Klammer um PMID entfernen
    	["\\( ?PMID ([-0-9X]+) ?\\)", "PMID $1"],
      // Doppelpunkt nach PMID entfernen
      	[" PMID: ?([0-9])", " PMID $1"],
    // ID:106 = ISSN mit falscher Syntax
    // Strich setzen zwischen ISSN-TAG und Nummer
    	[" ISSN ?:? ?([0-9]{4})[" + Striche + " ]?([0-9]{3}[0-9xX])", " {{ISSN|$1-$2}}"],
    // PMC-ID: zu {{PMC|}} 
    	[" PMC(?:ID)? ?:? ?([0-9]+)", " {{PMC|$1}}"],
    // DOI: zu [[doi:]]
    	[" +(?:[Dd][Oo][Ii]) ?:? ?(10\\.[12][0-9]{3,3}[/][^ \n><,;]+)", " [[doi:$1]]"],
    // Sprachangabe klein und ohne Link
		["\\(Englisch\\)", "(englisch)"],
		["\\([eE]ngl.\\)", "(englisch)"],
		["\\(Französisch\\)", "(französisch)"],
		["\\(Italienisch\\)", "(italienisch)"],
    // fehlender Punkt nach Seite
		["[.,;] S( |&nbsp;)([0-9])", ", S.$1$2"],
	// Seite ohne Punkt
		["[,] S ([1-9])", ", S. $1"],
	// Wikisyntax-Aufzählungszeichen durch Leerzeichen vom Inhalt abtrennen
		["(\n[*#:;]+)([^*#:;\n ])", "$1 $2"],
		["\n(:+) +\\{\\|", "\n$1{|"],
	// Bis-Strich bei Jahreszahlen
		["([^=] +" + B_JoK + ") ?[" + Striche + "] ?(" + B_JoK + "[^0-9(])", "$1–$3"],
		["\\(" + B_JoK + " ?[" + Striche + "] ?" + B_JoK + "\\)", "($1–$2)"],
	//Lückenschluss zwischen <ref> und dem vorhergehenden Zeichen/Wort
		["([^=|]\n?) +<ref", "$1<ref"],
	// Steht im Text sowohl vor als auch nach der Fußnote ein Satzzeichen,
	// wird das führende belassen und das nachfolgende entfernt:
		["([.,;:!?])((?:<ref(?:[^<\n]+)(?:</ref>|<ref(?: (?:name|group)=\"[^/\n<>\"]+\"){1,2} ?/>))+)[.,;:!?]", "$1$2"],
	// Leerzeichen vor Prozent
		[" ([1-9][0-9,]*) ?[" + Striche + "] ?([1-9][0-9,]*)[%]([,.; ])", " $1–$2 %$3"],
		[" ([1-9][0-9,]*)[%]([,.; ])", " $1 %$2"],
		["[:] ?([1-9][0-9]*) [%]([\"; |])", ": $1%$2"],
	// verstecktes, geschütztes Leerzeichen
		["&#160;", " "]
    ];

// Definition um Vorlagen zu ändern
mw.libs.WikiSyntaxTextMod.config.mod.template = [
	{ detect: { title: "[Ff]olgenleiste" },
      rename: { title:  [true, "Personenleiste"] }
    },
    { detect: { title: "[Ff]olgenleiste multi" },
      rename: { title:  [true, "Personenleiste"] }
    },
	{ detect: { title:  "^[Ii]nternetquelle$" },
	  rename: { title:  [true, "Internetquelle"],
	  params: vorIquelle },
	  clear:  [ ["^(autor|hrsg|format|sprache|titelerg"
				 + "|werk|seiten|datum|archiv-url|archiv-datum"
				 + "|kommentar|zitat|offline)$",
	          false] ],
	  format: { order: vorIquelle,
	  style: { indent:    1,
	  lastline:  false,
	  later:     false,
	  leap:      false,
	  leave:     false,
	  linebreak: false}
	}
},
	{ detect: { title: "^[Ll]iteratur$" },
   		clear: [ ["^(Autor|TitelErg|Hrsg|Sammelwerk|WerkErg|Band|Nummer|Auflage"
                + "|Verlag|Ort|Sprache|Umfang|Reihe|NummerReihe|BandReihe"
                + "|HrsgReihe|Kommentar|Kapitel|Seiten|Spalten|ArtikelNr|Fundstelle"
                + "|ISBNformalFalsch|ISBNdefekt|ISSN|ISSNformalFalsch|ZDB|DNB"
                + "|LCCN|OCLC|Lizenznummer|arXiv|bibcode|DOI|JSTOR|PMC|PMID"
                + "|URN|ID|Online|Abruf|Originaltitel|Originaljahr"
                + "|Originalort|Originalsprache|Übersetzer|JahrEA|VerlagEA|OrtEA"
                + "|Zitat|Typ)$",
                false] ]
//  format: { style: { indent:    1,
//                     lastline:  false,
//                     later:     false,
//                     leap:      false,
//                     leave:     false,
//                     linebreak: false}
//           }
} ];
//{ detect: { title:  "[Cc]ite (news|web)" },
//    rename: { title:  [true, "Internetquelle"],
//             params: vorlageInternetquelle },
//     format: { order:  vorlageInternetquelle }
//   } ];

// automatischer Start beim Bearbeiten des Artikels
// RonMeier/common.js, Crazy1880/vector.js
// [[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]]
mw.loader.load("https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/WikiSyntaxTextMod/r.js&action=raw&bcache=1&maxage=604800&ctype=text/javascript",
               "text/javascript");