Benutzer:Schnark/js/Wikisyntax-config.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
/* 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', '&nbsp;'], //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>