Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/flow
WikiSyntaxTextMod → Wirkungsweise
Übersicht: Allgemeine Vorgehensweise.
Ablauf
Grundsätzlich führt das Skript die wesentlichen Schritte in folgender Reihenfolge aus:
- Einzelzeichen standardisieren
- tag soup gut umrühren
- Vorlagen analysieren, anpassen
- Verlinkungen analysieren, anpassen
- Schutzbereiche definieren, falls Bedarf
- Syntax-Lesbarkeit verbessern
- Lokalisierung – soweit bei den vorangehenden Schritten noch nicht erledigt
- Syntaxkorrektur bereinigt automatisch korrigierbare Fehler oder meldet Syntaxfehler, für die keine automatische Korrektur möglich ist.
- Es folgt die Bereinigung kleinerer Probleme, die für die Leser der Artikel sichtbar werden können.
Damit ist die eigentliche Standardisierung der Wikisyntax abgeschlossen. Diese Grundreinigung erfolgt automatisch.
Fortsetzung
Danach werden wenige für alle Texte sinnvolle typografische Korrekturen vorgenommen.
Anschließend werden benutzerdefinierte Änderungen für den allgemeinen Text ausgeführt. Soweit benutzerdefinierte Änderungen Linkziele oder Vorlageneinbindungen betreffen, wurde dies bereits integriert in den jeweiligen Durchgang erledigt.
Effiziente Umsetzung
Es wird vermieden, den gesamten Wikitext vielfach nacheinander mit komplexen Regulären Ausdrücken passend zu jedem einzelnen Syntaxproblem zu durchforsten.
Vielmehr werden die durchsuchbaren Zeichenketten genau einmal nach einem Vorkommen weniger Zeichenketten abgesucht. Bei jedem Treffer wird die lokale Umgebung der Fundstelle untersucht und alle damit in Zusammenhang stehenden Fragen werden geklärt.
- Anfänglich werden alle vorkommenden Zeichen einzeln hinsichtlich ihrer Kodierung untersucht; ggf. transformiert oder zur späteren Syntaxdarstellung vorgemerkt.
- Danach wird einmal nach den folgenden Zeichenketten gesucht:
"<"
– Wenn es sich um ein Tag handelt, wird das Erforderliche getan:- Ein Kommentar
"<!--"
wird einer benutzerdefinierten Kommentar-Änderung unterzogen. - Alle Kommentare werden gegen alle weiteren Suchvorgänge und Ersetzungen geschützt.
- Die innere Syntax des Tags wird formatiert, ggf. korrigiert.
- Einander zugehörige öffnende und schließende Tags werden identifiziert, auf korrekte Verschachtelung geachtet, einige Elemente vom öffnenden bis schließenden Tag verarbeitet.
- Ein Kommentar
"{{"
– Vorlageneinbindungen werden in ihrer Ausdehnung analysiert.- Innerhalb der Einbindung auftretende innere Vorlagen und Links werden verarbeitet.
- Benutzerdefinierte Änderungen oder auch projektspezifische Standard-Vorlagen werden abgearbeitet.
- Der Name der Vorlage wird ggf. gegen Text-Änderungen geschützt.
"["
– Mögliche geklammerte Verlinkungen werden aufgefunden (Wikilink und URL), ggf. berichtigt, formatiert, benutzerdefiniert geändert, erforderlichenfalls gegen Text-Änderungen geschützt."://"
– nicht geklammerte URL werden wie vorstehend behandelt.