Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/replace
WikiSyntaxTextMod → Benutzung → Ersetzungen
Das automatisierte Skript nimmt bewusst für alle Benutzer nur solche Veränderungen vor, die keine oder kaum sichtbare Auswirkungen auf den dargestellten Artikel haben. Sie dienen zunächst einmal den Autoren.
Wer darüber hinaus Ersetzungen im Text wünscht, kann sich diese auf eigene Verantwortung zusammenstellen.
Diese benutzerdefinierten Ersetzungen wirken nicht auf geschützte Bereiche.
Bestimmte Ersetzungsregeln greifen jeweils nur bei bestimmten Syntaxelementen:
Allgemeines
BearbeitenIn der js
-Datei des Benutzers sind die gewünschten Ersetzungsausdrücke vor dem mw.loader.load
zu definieren in den Komponenten des Anwendungsobjekts
mw.libs.WikiSyntaxTextMod.config.mod.comment =
Kommentar-Ersetzungsliste;
mw.libs.WikiSyntaxTextMod.config.mod.template =
Vorlagen-Ersetzungsliste;
- Link-Ersetzungslisten
mw.libs.WikiSyntaxTextMod.config.mod.url
mw.libs.WikiSyntaxTextMod.config.mod.wikilink
mw.libs.WikiSyntaxTextMod.config.mod.plain =
Text-Ersetzungsliste;
Die Reihenfolge der Listen-Definitionen ist unwesentlich. Die Ersetzungen werden in der vorstehend nummerierten Reihenfolge ausgeführt; vorangegangene Ersetzungen werden dabei berücksichtigt.
Ausgangslage ist die vollständige Syntaxpolitur mit allen Normalisierungen der Zeichenkodierung und Formatierungen.
Formal gesprochen sind alle Ersetzungslisten Arrays. Die einzelnen Ersetzungen geschehen in Reihenfolge der Elemente; vorangegangene Ersetzungen wirken auf nachfolgende Aktivitäten. Jedes Element ist eine Transformation, bestehend aus einem Suchkriterium, einem Ersetzungsausdruck und möglichen Flags.
Bevor eine der genannten Komponenten zugewiesen kann, muss das Anwendungsobjekt definiert worden sein. Ein leeres Gerüst dafür wird einmalig wie folgt aufgebaut:
mw.libs.WikiSyntaxTextMod = { config: { lang: { },
load: { },
mod: { },
page: { }
}
};
Komplexe Ersetzungsregel
BearbeitenJede Ersetzungsregel ist ein Array mit zwei oder drei Elementen:
- Reguläre Ausdrücke (RegExp) sind notwendig, um die gesuchten Zeichenketten vorzugeben.
- Reguläre Ausdrücke sind ausschließlich als Zeichenketten, nicht aber als sogenannte „Literale“ möglich.
- Ein Ersetzungsausdruck ist der zum gefundenen RegExp passende neue Text.
Möglich ist die Ersetzung von Klammerausdrücken mit$1
,$2
, usw. für die erste, zweite Klammer.- Ein Sonderfall ist die Verwendung einer Funktion an Stelle eines statischen Ersetzungstextes.
- flag (optional)
Steuerung der Suche- Mögliche Werte:
""
– Einmaliges Auffinden, Groß-/Kleinschreibung beachten"g"
– Globale Suche, Groß- und Kleinschreibung beachten"i"
– Einmaliges Auffinden, Groß-/Kleinschreibung ignorieren (i = ignore case)"gi"
– Globale Suche, Groß-/Kleinschreibung ignorieren - Der Standardwert ist dem Anwendungsfall zu entnehmen.
"g"
bei Operationen im gesamten Wikitext""
bei Aktivitäten auf einem Bezeichner, wie Vorlagen-Name oder Vorlagen-Parameter-Name
- Mögliche Werte:
Anwendungsbeispiele
BearbeitenProblem | Lösungsvorschlag |
---|---|
Abkürzung – als Floskel |
Typografie |
Abkürzung – als Linkziel |
Abkürzungen |
Apostroph | Typografie |
Aufzählungszeichen | Syntax-Lesbarkeit |
Bildbeschreibung ergänzen | Allgemeiner Text |
Bis-Strich | Typografie |
Englische Ordnungszahlwörter | Typografie |
Exponenten | Syntax-Lesbarkeit |
Fußnoten | Typografie |
Grad-Zahlen bei Temperaturangaben | Typografie |
Horizontale Ellipse | Typografie |
http ohne eckige Klammern | Verlinkungen |
ISSN als Vorlage | Allgemeiner Text |
Ligaturen | Typografie |
Linkfix | Verlinkungen |
Plenken | Typografie |
prettytable | Allgemeiner Text |
Punkt nach Punkt | Typografie |
Römische Zahlen | Typografie |
Schreibrichtung (Left-to-right/Right-to-left) | Syntaxkorrektur |
<small> | Typografie |
Überschrift endet mit Doppelpunkt | Typografie |
Weblink ohne Beschreibung | Verlinkungen |
Windows-Zeichen | Allgemeiner Text |
Worttrennung | Typografie |
Ein Beispiel für die kontextsensitive dynamische Verkettung wird bei Ligaturen gegeben.
Getestete Definitionen
BearbeitenStandardmäßig werden die Definitionen sowie deren Elemente auf formale Zulässigkeit geprüft. Dies empfiehlt sich in einer ersten Testphase. Funktioniert dann alles wunschgemäß, kann die Überprüfung abgeschaltet werden (true
), um die Prozedur nicht unnötig zu beschäftigen.
mw.libs.WikiSyntaxTextMod.config.mod.tested = true;
Bearbeitungskommentar
BearbeitenMittels der folgenden Benutzerkonfiguration wird ein Bearbeitungskommentar eingefügt, falls einer der Modifizierungs-Ausdrücke zu einer Ersetzung geführt hat:
mw.libs.WikiSyntaxTextMod.config.mod.summary = "linkfix/BKL";
Benutzerdefinierte Funktion
BearbeitenDiese Funktion ermöglicht statt eines statischen Ersetzungs-Ausdrucks die dynamische Generierung einer Zeichenkette, die in ihrem Format dem statischen Ersetzungsausdruck entsprechen muss.
Aufruf | …(about, assigned, apply, adjust) | ||
---|---|---|---|
Parameter | Typ | Bedeutung | |
about
|
string
|
Informativer Hinweis".config.mod.plain" "url" "[wiki" Hinweis auf WSTM.4 | |
assigned
|
number
|
Nummer der Ersetzungsregel | |
apply
|
number
|
Art der Ersetzung Standard: 0 – Text-Ersetzung, Linkziel-1 : Prolog; 1 : Epilog
| |
adjust
|
string
|
Vorgefundene Zeichenkette | |
Rückgabewert | string – Ersetzungs-Ausdruck
|
Der besondere Vorteil ist, dass auch von außen nicht bekannte Informationen über Kategorien und anderes einfließen können. So kann in der deutschsprachigen Wikipedia geprüft werden auf die beiden Komponenten
.l10n.proj.dewiki.got.at
– österreichbezogen.l10n.proj.dewiki.got.ch
– schweizbezogen
Joker-Ersetzung
BearbeitenDie Joker-Funktion ist eine benutzerdefinierte Funktion, mit der nach Abschluss aller kontrollierten, behüteten Ersetzungen auf den resultierenden Wikitext eine globale Zeichenketten-Ersetzung vorgenommen werden kann.
Aufruf | …(adjust) | ||
---|---|---|---|
Parameter | Typ | Bedeutung | |
adjust
|
string
|
Resultierender Wikitext | |
Rückgabewert | false – nichts zu tunstring – veränderter Wikitext
|
Wie beim Namensgeber reicht die Palette vom albernen Spaßvogel, der mit infantilen Streichen piesackt, bis zum gewalttätigen Psychopathen.