Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/usage/Syntaxkorrektur
WikiSyntaxTextMod → Benutzung → Projekt Syntaxkorrektur
Das Projekt Syntaxkorrektur soll vom Skript unterstützt werden.
Wo immer es möglich ist, erfolgt die Berichtigung automatisiert. Dies setzt aber voraus, dass der beabsichtigte Sinn zweifelsfrei erschlossen werden kann. Gerade schwere Syntaxfehler benötigen menschliche Interpretation; ein leeres Wikilink [[]]
etwa kann nicht einfach eliminiert werden; es verweist auf eine beabsichtigte Verlinkung, ein fehlendes oder daneben stehendes Wort. Das Skript ändert oder löscht werksseitig grundsätzlich keine bedeutungstragenden Informationen.
Zurzeit implementiertes Vorgehen
ID | priority | Bezeichnung | Einzelheiten |
---|---|---|---|
8 | high | Überschrift keine eigene Zeile | benutzerdefiniert |
30 | Bildbeschreibung fehlt |
| |
70 | ISBN mit falscher Länge | auto/Standard wenn durch ungeeignete Gliederungszeichen etc. verursacht | |
69 | ISBN mit falscher Syntax | ||
46 | Anzahl öffnender eckiger Klammern nicht korrekt | auto/Standard wenn eine öffnende vorhanden ist und beide schließende Klammern nicht zu weit entfernt sind | |
10 | Anzahl schließender eckiger Klammern nicht korrekt | auto/Standard wenn eine schließende vorhanden ist und beide öffnende Klammern nicht zu weit entfernt sind | |
32 | Link mit doppeltem senkrechten Strich |
| |
80 | Weblink mit Zeilenumbruch \n |
| |
86 | Weblink mit zwei eckigen Klammern | auto/Standard | |
79 | Weblink ohne Beschreibung | Benutzerdefiniert: Domain ergänzen als ersten Notbehelf | |
57 | middle | Überschrift endet mit Doppelpunkt | benutzerdefiniert |
44 | Fettdruck in Überschrift | auto/Standard | |
48 | Selbstlink | auto/Standard | |
66 | Bildbeschreibung mit <small> | <small> in <ref> und für ganze Bildbeschreibungen und Exponenten | |
50 | low | – oder — | auto/Standard (alle Entities werden aufgelöst, wenn nichts dagegen spricht)
|
63 | <small> in Referenz, sub oder sup | <small> in <ref> und für ganze Bildbeschreibungen und Exponenten | |
26 | <b>……</b> | benutzerdefiniert | |
38 | <i>……</i> | ||
11 | HTML-Zeichen benannt | auto/Standard (alle Entities werden aufgelöst, wenn nichts dagegen spricht)
| |
9 | Kategorie auf neue Zeile | auto/Standard | |
22 | Kategorie mit Leerzeichen | ||
18 | Kategoriename kleingeschrieben | ||
21 | Category statt Kategorie | auto/Standard (Zu befürchten ist aber, dass die Kategorie selbst auch Englisch ist, weil dies aus einem anderen Projekt übernommen wurde.)
| |
76 | Wikilink mit %20 | auto/Standard (alle %-Encodings werden aufgelöst, wenn nichts dagegen spricht)
| |
64 | Linkziel ist gleich dem Linktext | auto/Standard | |
6 | SORTIERUNG mit Sonderzeichen | auto/Standard (alle lateinischen non-ASCII-Buchstaben)
| |
20 | † | auto/Standard (alle Entities werden aufgelöst, wenn nichts dagegen spricht)
| |
27 | � oder � | ||
16 | Vorlageneinbindung mit Unicode-Kontroll-Zeichen | Immer Umwandlung in ‎ / ‏ Am Ende des Vorlagen-Namens automatisch entfernt; sonst dem manuellen Löschen zugänglich gemacht; auch benutzerdefiniert automatisch. | |
59 | Zeilenumbruch <br /> am Vorlagen-Wertende | benutzerdefiniert | |
2 | Zeilenumbruch <BR> im Artikeltext | korrektes XHTML | |
54 | Zeilenumbruch <br /> am Ende eines Listenpunkts oder vor einem Listenpunkt | benutzerdefiniert |
Dies ist jedoch nur ein Teil der Gesamtfunktionalität des Skriptes, die Schnittmenge mit dem Fehlerkatalog des Projekt Syntaxkorrektur.
Nicht automatisierbar zu behebende Syntaxfehler
Nur durch menschliche Interpretation des Textes lassen sich Strukturfehler beheben, die so schwer sind, dass automatische Berichtigungsversuche ausscheiden:
ID | priority | Bezeichnung |
---|---|---|
74 | high | Link ohne Ziel |
14 | Source mit undefiniertem Ende | |
15 | Undefiniertes Ende bei Code | |
5 | Undefiniertes Ende bei Kommentar | |
13 | Undefiniertes Ende bei Math | |
23 | Undefiniertes Ende bei Nowiki | |
24 | Undefiniertes Ende bei Pre | |
28 | Undefiniertes Ende bei Tabelle | |
47 | Vorlagenbeginn nicht korrekt | |
43 | Vorlagenende nicht korrekt | |
60 | Vorlagenparameter problematisch | |
29 | low | Undefiniertes Ende bei Galerie |
36 | Weiterleitung nicht korrekt |
Genauso muss ausscheiden, wo Inhalte erst zu generieren sind oder inhaltliche Beurteilungen erforderlich sind:
ID | priority | Bezeichnung |
---|---|---|
84 | high | Abschnitte ohne Inhalt |
35 | Bildbeschreibung in Galerie fehlt | |
71 72 73 |
ISBN | |
3 | Referenz-Tag fehlt | |
62 | middle | Überschrift alleinstehend |
83 | Überschrift beginnt mit drei „=“, nachfolgende auf Ebene 2 | |
92 | Überschrift doppelt | |
58 | Überschrift großgeschrieben | |
19 | Überschriften beginnen mit höherer Ebene als 2 | |
7 | Überschriften beginnen mit tieferer Ebene als 2 | |
25 | Überschriftenstruktur fehlerhaft | |
55 | <small> doppelt | |
82 | Link zu einem anderen Wikiprojekt | |
68 | Link zu einer anderen Sprache | |
56 | Pfeil als ASCII-Kunst | |
81 | Referenz-Angabe mehrfach vorhanden | |
4 | Weblink im Artikel ohne Überschrift | |
77 | low | Bildbeschreibung mit teilweise <small> |
85 | HTML-Tag ohne Inhalt (Inhalt steht ggf. daneben) | |
41 | <big> | |
78 | Referenz-Tag doppelt | |
34 | Reste aus Vorlagenprogrammierung |
Bestimmte Fehler lassen sich zwar formal konvertieren, aber erfahrungsgemäß handelt es sich um Passagen, die aus HTML-Dokumenten kopiert wurden und unter verschiedenen Aspekten wikifiziert werden müssen. Für das seltene Vorkommen lohnen sich Automatisierungsversuche nicht.
49 | low | Überschrift in HTML-Tags |
12 | HTML-Listenelemente | |
31 | HTML-Tabellenelemente | |
39 | HTML-Textformatierungselement <p> | |
51 | Interwikilink vor der letzten Überschrift | Ließe sich automatisch verschieben, wenn wirklich Interwikilink. Problem: Es könnte [[:Kategorie:Rubrik]] oder [[:en:Lemma]] gemeint sein, dem irrtümlich der führende Doppelpunkt fehlt. Wird bereits erkannt, ggf. MessageBox anzeigen. |
52 | Kategorie vor der letzten Überschrift | |
53 | Interwikilink vor der letzten Kategorie |
Beispiel für benutzerdefinierte Ersetzungen
Die vorstehend erwähnten benutzerdefinierten Ersetzungen der Syntax zusammengefasst:
mw.libs.WikiSyntaxTextMod.config.mod.plain = [
// ID:8
["\n(==+) *([^ =\n][^=\n]*[^ =\n]) *\\1 *([^ =\n])",
"\n$1 $2 $1\n$3"],
// ID:16
["\\{\\{(Arabische Schrift|(Ar|ar|Fa|fa|Ps|ps|Ur|ur)[FS]?|He|he) *\\| *(‏)?([^|}\n]+) *(‎)? *\\|",
"{{$1|$4|"],
// ID:26
["([^'])<(em|i)>([^'<\n]+)</ *\\2>([^'])",
"$1''$3''$4",
"gi"],
// ID:38
["([^'])<(strong|b)>([^'<\n]+)</ *\\2>([^'])",
"$1'''$3'''$4",
"gi"],
// ID:54
["<br /> *(\n+[*#:;])",
"$1"],
["(\n[*#:;].+) *<br /> *\n",
"$1\n"],
// ID:57
["\n(==+) *(.+): *\\1 *\n",
"\n$1 $2 $1\n"],
// ID:59
["(\\| *[A-Za-z_0-9]+ *=[^|=\n])<br /> *(\n? *\\| *[A-Za-z_0-9]+ *=)",
"$1$2"]
];
Hinzu kämen inhaltsbezogene Ersetzungen wie Bildbeschreibungen und Linktitel.
Zu technischen Einzelheiten siehe benutzerdefinierte Ersetzungen.
Ausblick: künftige Möglichkeiten
ID | priority | Bezeichnung | Kommentar |
---|---|---|---|
45 | high | Interwikilink doppelt | machbar, gelegentlich |
65 | low | Bildbeschreibung mit <br /> am Ende | selten; machbar; zunächst auch benutzerdefiniert |
17 | Kategorie doppelt | machbar, gelegentlich | |
37 | SORTIERUNG fehlt und Lemma mit Sonderzeichen | Ließe sich als Vorschlag generieren und vor die erste Kategorie setzen; neue Lösung (UCA) könnte dies 2012/2013 überflüssig machen. | |
89 | SORTIERUNG mit Großbuchstaben im Wort | Neue Lösung (UCA) machte dies 2012 überflüssig. |