Benutzer:Perhelion/Wikisyntax-config.js
Erscheinungsbild
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
/* Konfiguration für
[[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]]
teilweise von [[Benutzer:Schnark/js/Wikisyntax-config.js]]
<nowiki>
.
/ \ !!! ACHTUNG !!!
/ . \
/ / \ \ Ich kann dich nicht daran hindern,
/ / _ \ \ meine Konfiguration ganz oder
/ / | | \ \ in Teilen zu übernehmen.
/ / | | \ \
/ / | | \ \ Ich rate dir aber, wirklich nur
/ / |_| \ \ die Konfigurationsvariablen zu
/ / _ \ \ übernehmen, bei denen du weißt,
/ / (_) \ \ was sie bewirken und nur die
/ / \ \ regulären Ausdrücke, von denen
/ `-----------------´ \ du weißt, wie sie arbeiten.
`-----------------------´
*/
/* global jQuery, mw */
if (typeof ns === "undefined") var ns = mw.config.get('wgNamespaceNumber');
if (typeof user === "undefined") var user = mw.config.get('wgUserName');
(function ($, config) { // .cfg predefinied in global.js
"use strict";
var RomanDigit = "\\b[IVXLCDM]+\\.";
var cfg = {
page : {
oldid : true,
include : [":dewiki:.*"],
support : [":dewiki:.*"]
// , exclude : [":dewiki:Vorlage:[^/]+"]
},
mod : {
summary : "[[WP:WPSK]]",
tested : true,
plain : [
['(^[*#:;]+)([^*#:;\\s])', '$1 $2'], //Leerzeichen nach Listen
["\\]\\] *[,;] *† *\\[\\[", "]]; † [[", ""], //Semikolon vor Gestorben-Zeichen
['\u00A0', " "], //unsichtbare NBSPs sichtbar machen
['\u00AD', "­"], //unsichtbare SHYs sichtbar machen
['(\u2010|\u2011)', "-"], // HYPHEN
//['([^-\\w](?:1\\d|20)\\d\\d)\\s*[-‐‑‒—―⁃─━−]\\s*((?:1\\d|20)\\d\\d[^-\\w])', '$1–$2'], //Zeiträume mit Bis-Strich schreiben
["(\\([^-0-9]*(1[0-9]|20)[0-9][0-9])[-—−]((1[0-9]|20)[0-9][0-9][^-0-9]*\\))", "$1–$3"], // Bis-Strich
['(\\S)\\!\\!', '$1\u203C'],
['\\?\\?', '\u2047'],
['\\?\\!', '\u2048'],
['\\!\\?', '\u2049'],
['([^.])\\.\\.\\.([^.])', '$1\u2026$2'], // Ellipsis
['(ISSN(?:\\s|\\|)\\d\\d\\d\\d)–(\\d\\d\\d\\d)', '$1-$2'], //versehentlich verpfuschte ISSN wieder korrigieren
[' - (\\D)', ' – $1'], //Gedankenstrich
['(\\D) - ', '$1 – '], //Minus ist hoffentlich hiermit ausgeschlossen
[' -, ', ' –, '],
["<sup>[-–]([0-9]*)</sup>", "<sup>−$1</sup>"], // Negativer Exponent
['oς', 'ος'], //griechische Wörter schreibt man mit omikron, nicht mit o, aber mehr lässt sich automatisch nicht korrigieren
['\\bprettytable\\b', 'wikitable'], //alte Tabellen CSS-class
["^(==+) *(.+): *\\1 *$", "$1 $2 $1"], // Kein Doppelpunkt
['^== *extern(al|e) +((web)?links|verweise) *==', '== Weblinks ==', 'i'], //Kreativität zeigt sich im Artikel, nicht in den Überschriften
['^== *referen[cz]e[sn] *==', '== Einzelnachweise ==', 'i'],
// Fußnotenzeichen, Quelle </nowiki>[[User:PerfektesChaos/js/WikiSyntaxTextMod/usage/typogr##udef.ref]]<nowiki>
["( *\n +| +)<ref\\b", "<ref"], // Fußnotenzeichen soll immer direkt an das vorangehende Wort oder Satzteil anschließen
// Das Fußnotenzeichen steht in enzyklopädischen Artikeln so gut wie immer nach einem vorangehenden Satzzeichen als Satzteil;
["([^,.?!;:“])(<ref\\b[^>\n]*>[^<\n]+</ref>)([,.?!;:])", "$1$3$2"], // es folgt also einem Fußnotenzeichen kein Satzzeichen
["([,.?!;:“]<ref\\b[^>\n]*>[^<\n]+</ref>)[,.?!;:]", "$1"], // Steht im Text sowohl vor als auch nach der Fußnote ein Satzzeichen, wird das führende belassen und das nachfolgende entfernt
//veraltetes HTML (nocht weitgehend ungestestet)
['<strike\\s', '<s', 'i'], ['</strike\\s*>', '</s>', 'i'], //semantisch
//['<tt\\s', '<kbd', 'i'], ['</tt\\s*>', '</kbd>', 'i'], //semantisch
//['<big\\b', '<span style="font-size: large"', 'i'], ['</big\\s*>', '</span>', 'i'], // not until [[phab:T40487]] is solved
['<center\\s', '<div class="center"', 'i'], ['</center\\s*>', '</div>', 'i'], //Achtung bei Tabellen etc.
['<font\\s+color\\s*=\\s*("?)([^>]*?)\\1\\s*>', '<span style="color:$2;">', 'i'],
['<font\\s+size\\s*=\\s*("?)\\+\\d+\\1\\s*>', '<span style="font-size:large;">', 'i'],
['<font\\s+size\\s*=\\s*("?)-\\d+\\1\\s*>', '<span style="font-size:small;">', 'i'],
['<font\\b', '<!--Achtung: von Hand korrigieren: --><span', 'i'],
['</font\\s*>', '</span>', 'i'],
['<span\\s+style="font-size:\\s*(small|[78][0-9]%);?"\\s*>([^<\n]+)</span>', '<small>$2</small>', 'i'],
['\\balign\\s*=\\s*("?)\\s*center\\1', 'style="text-align:center;"', 'i'],
['\\balign\\s*=\\s*("?)\\s*(\\w*)\\1', 'class="float-$2"', 'i'],
['\\bvalign\\s*=\\s*("?)\\s*top\\1', 'class="toptextcells"', 'i'],
['\\bvalign\\s*=\\s*("?)\\s*(\\w*)\\1', 'style="vertical-align:$2;"', 'i'],
['\\bbgcolor\\s*=\\s*("?)\\s*([#\\w]*)\\1', 'style="background:$2;"', 'i'],
['\\bstyle="([^"]*)"\\s+style\\s*=\\s*"\\s*', 'style="$1 ', 'i'], // doppelte style zusammenfassen
['=( *)"([^"\\n]*)"', '=$1\t§§\t$2\t§§\t'],
[' , ?', ', '], // Komma verrutscht?
['\\n{3}', '\n\n'], // Doppelte Leerzeilen?
[' ', ' '], // Doppelte Leerzeichen?
//alle Anführungszeichen maskieren TEST
["([->(\\[\\s](?:''+)?)\"(\\w[^\"]*\\w)\"((?:''+)?[-.,;:!?<)\\]\\s])", '$1„$2“$3'],
//typographische Anführungszeichen
['\\t§§\\t', '"'],
//zurückverwandeln
[" '([^'\\s]+)' ", ' ‚$1‘ '], //vorsichtig auch einfache behandeln
["(<ref\\b[^>\n]*)\/>([?!;:,.])", "$2$1\/>"], //wiederholendes ref nach Satzzeichen
//Apostroph, Quelle </nowiki>[[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/replace/plain/typogr#Apostroph]]<nowiki>
["([a-zéäöü])['´`′]s\\b", "$1’s"],
["([hsßtxz])['´`′] ", "$1’ "],
["([a-z])['´`′](ne?)\\b", "$1’$2"],
[" ['´`′]([ns])\\b", " ’$1"],
["([a-zéäöüß])['´`′]sch", "$1’sch"],
//Fußnotenzeichen, Quelle </nowiki>[[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/replace/plain/typogr#udef.ref]]<nowiki>
["(([^=]) *\n +| +)<ref\\b",
"$2<ref"],
["([^,.?!;:“])(<ref\\b[^>\n]*>[^<\n]+</ref>)([,.?!;:])",
"$1$3$2"],
["([,.?!;:“]<ref\\b[^>\n]*>[^<\n]+</ref>)[,.?!;:]",
"$1"],
['#([0-9A-F])\\1([0-9A-F])\\2([0-9A-F])\\3', '#$1$2$3', 'ig'], // webcolor-shorthand
["\\.“\\.", ".“"] // Wenn ein Zitat mit einem Punkt endet, steht nach dem abschließenden Anführungszeichen kein Punkt
],
hook : function (ad) { //obsolete
if (ns % 2 === 1 || $.inArray(ns, [2, 4]) !== -1)
ad = ad.replace(/'' <small>&(#160|nbsp);(\d)/g, "'' <small>\u00A0$2"); // webcolor shorthand uppercase
return ad
.replace(/<div style=["']clear:both;?["']><\/div>/g, '{{Absatz}}') // HTML vermeiden (nach Standardformat)
.replace(/#[0-9A-F]{3}[\s;]/ig, function(m) { return m.toUpperCase(); } );
},
template : [{
detect : {
title : "[Pp]olytonisch"
},
rename : {
title : [true, "lang|grc"]
}
}
],
wikilink : [
["\\b(S(\\.|eiten?)( | )?[1-9][0-9]*)\u2212([1-9])",
"$1\u2014$4"],
[["\\[\\[", "(.*" + RomanDigit + ")", "\\]\\]\\."],
[false, "$1", "]]"]]
]
},
warn : {
attribute : [["class", "\\bprettytable\\b"]],
property : ["align", "bgcolor", "border", "clear", "compact", "height", "valign"],
tag : ["big", "blockquote", "center", "font", "h1", "samp", "var"],
template : {
lonely : true
}
}
};
if (user !== 'Perhelion')
alert(user + ' Du hast Dir nicht einmal durchgelesen,\nwas Du kopiert hast!?\n\nFrage mich, Perhelion!');
config = (config)? $.extend(config, cfg) : cfg;
})(jQuery, mw.libs.WikiSyntaxTextMod.config);