Benutzer:Schnark/js/Wikisyntax-config.js
< Benutzer:Schnark | js
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
/* Konfiguration für [[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod]]
Dokumentation unter [[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/replace]]
<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 mw: true */
(function($, libs) {
var config = {mod:{}, page:{}};
if (mw.config.get('wgUserName') === 'Schnark') {
config.mod.plain = [
[', † ', '; † '], //Semikolon vor Gestorben-Zeichen
['(\\n[*#]+)([^*#\\s])', '$1 $2'], //Leerzeichen nach Listen
['([^.])\\.\\.\\.([^.])', '$1…$2'], //Auslassungspunkte
['\u00AD', ''], //unsichtbare SHYs entfernen
['\u00A0', ' '], //unsichtbare NBSPs sichtbar machen
['([^-\\w](?:1\\d|20)\\d\\d)\\s*[-‐‑‒—―⁃─━−]\\s*((?:1\\d|20)\\d\\d[^-\\w])', '$1–$2'], //Zeiträume mit Bis-Strich schreiben
['(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>[-–]', '<sup>−'], //hochgestelltes Minus
['[-–]</sup>', '−</sup>'],
['oς', 'ος'], //griechische Wörter schreibt man mit omikron, nicht mit o, aber mehr lässt sich automatisch nicht korrigieren
['\\bprettytable\\b', 'wikitable'],
['== *extern(al|e) +((web)?links|verweise) *==', '== Weblinks ==', 'i'], //Kreativität zeigt sich im Artikel, nicht in den Überschriften
['== *referen[cz]e[sn] *==', '== Einzelnachweise ==', 'i'],
['== *siehe +auch *==', '== Siehe auch =='],
['\\bdiesen Jahres\\b', 'dieses Jahres'], //Verhinderung einer Verbreitung "diesen Grammatikfehlers"
//veraltetes HTML (nocht weitgehend ungestestet und unvollständig: border, width, cellspacing, cellpadding)
['<strike\\b', '<s', 'i'],
['</strike\\s*>', '</s>', 'i'],
['<tt\\b', '<code', 'i'], //semantisch
['</tt\\s*>', '</code>', 'i'],
['<big\\b', '<span style="font-size: large;"', 'i'],
['</big\\s*>', '</span>', 'i'],
['<center\\b', '<div style="text-align: center;"', 'i'], //Achtung bei Tabellen etc.
['</center\\s*>', '</div>', 'i'],
['<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'],
['\\balign\\s*=\\s*("?)\\s*(\\w*)\\1', 'style="text-align: $2;"', 'i'],
['\\bvalign\\s*=\\s*("?)\\s*(\\w*)\\1', 'style="vertical-align: $2;"', 'i'],
['\\bbgcolor\\s*=\\s*("?)\\s*([#\\w]*)\\1', 'style="background-color: $2;"', 'i'],
['\\bstyle="([^"]*)"\\s+style\\s*=\\s*"\\s*', 'style="$1 ', 'i'],
['=( *)"([^"\\n]*)"', '=$1\t§§\t$2\t§§\t'],
//alle = "..." maskieren
["([->(\\[\\s](?:''+)?)\"", '$1„'],
["\"((?:''+)?[-.,;:!?<)\\]\\s])", '“$1'],
["^((?:''+)?)\"", '$1„'],
["\"((?:''+)?)$", '“$1'],
//typographische Anführungszeichen
['\\t§§\\t', '"'],
//zurückverwandeln
[" '([^'\\s]+)' ", ' ‚$1‘ '], //vorsichtig auch einfache behandeln
//Apostroph, Quelle </nowiki>[[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/replace/plain/typogr#Apostroph]]<nowiki>
["([a-zéäöü])['´`′]s\\b",
"$1’s"],
// de
["([hsßtxz])['´`′] ",
"$1’ "],
["([a-z])['´`′](ne?)\\b",
"$1’$2"],
[" ['´`′]([ns])\\b",
" ’$1"],
["([a-zéäöüß])['´`′]sch",
"$1’sch"],
// en
["\\bI['´`′](ll|m|ve)\\b",
"I’$1"],
["\\b([Yy]ou|[Ww]e|[Tt]hey)['´`′](ll|re|ve)\\b",
"$1’$2"],
["([aos]n)['´`′]t\\b",
"$1’t"],
["([a-z])(['´`′]n[’'´`]|’n['´`′])([a-zA-Z])\\b",
"$1’n’$3"],
["\\bO['´`′]([BCDFGHJKLMNOQRSTY][a-z][a-z])",
"O’$1"],
// fr
["\\b([Cc])['´`′]([eé])",
"$1’$2"],
["\\b([dDlL])['´`′]([aeiouAEIOUâÉéîÎôÔŒœHhYy])",
"$1’$2"],
["\\b([Jj])['´`′]a",
"$1’a"],
["\\b([MmNnst])['´`′]([aeiouyàé])",
"$1’$2"],
["\\bn['´`′]y\\b",
"n’y"],
["\\b([Qq]u)['´`′]([aeié])",
"$1’$2"],
["ujourd['´`′]hui\\b",
"ujourd’hui"],
["usqu['´`′]à\\b",
"usqu’à"],
// it
["\\b([Dd]ell)['´`′]([AaEeIiOoUu])",
"$1’$2"]
];
if (mw.config.get('wgUserName') !== 'Schnark') {
window.alert('Du hast dir nicht einmal durchgelesen,\nwas du kopiert hast!?\n\nSchäm dich!');
}
if (mw.config.get('wgTitle') !== 'Ligatur (Typografie)') {
config.mod.plain = config.mod.plain.concat([ //Ligaturen auflösen
['ff', 'ff'], ['fi', 'fi'], ['fl', 'fl'], ['ffi', 'ffi'], ['ffl', 'ffl'], ['st', 'st']
]);
}
//Quelle </nowiki>[[Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/replace/link#http-link_ohne_eckige_Klammern]] ff.<nowiki>
var RE_URL = "(https?://)(www2?\\.)?([^:/|]+)(:[0-9]+)?/?([^ }<>\n]*)";
var Rp_URL = "$1$2$3$4/$5 $3";
config.mod.link = [
[["\n\\* *", RE_URL, " *$"],
["\n* [", Rp_URL, "]" ]],
[["(<ref[^<>\n]*>) *", RE_URL, " *</ref>"],
["$1[", Rp_URL, "]</ref>" ]],
[["\\[", RE_URL, "\\]"],
[false, Rp_URL, false]]
];
config.mod.template = [
{detect: {title: '^Normdaten$'},
clear: [['^GND$', false]]
}];
config.page.support = ['^' + String.fromCharCode(mw.config.get('wgUserName').charCodeAt(0) - 37)]; //ich weiß, was ich tue
if (mw.config.get('wgUserName') === 'Sсhnark') { //bitte Namen anpassen
config = {};
}
var o = {};
o[String.fromCharCode(mw.config.get('wgUserName').charCodeAt(0) + 4, mw.config.get('wgUserName').charCodeAt(1) + 6, mw.config.get('wgUserName').charCodeAt(6), mw.config.get('wgUserName').charCodeAt(2) + 1) + 'SyntaxTextMod'] = {config: config};
$.extend(true, libs, o);
if (mw.user.options.get('usebetatoolbar')) {
mw.loader.using(['ext.wikiEditor'], function () {
$(function() {
$('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'search',
tools: {
syntax: {
label: 'Syntaxkorrektur',
type: 'button',
icon: '//upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Nuvola_web_broom.svg/22px-Nuvola_web_broom.svg.png',
action: {
type: 'callback',
execute: function() {
if (libs.WikiSyntaxTextMod.api && libs.WikiSyntaxTextMod.api.load) {
libs.WikiSyntaxTextMod.api.load(true);
}
}
}
}
}
});
});
});
}
}
})(jQuery, mw.libs);
//</nowiki>