Benutzer:PerfektesChaos/js/WikiSyntaxTextMod/flow

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

WikiSyntaxTextMod → Wirkungsweise

Wirkungsweise

Übersicht: Allgemeine Vorgehensweise.

Grundsätzlich führt das Skript die wesentlichen Schritte in folgender Reihenfolge aus:

  1. Einzelzeichen standardisieren
  2. tag soup gut umrühren
  3. Vorlagen analysieren, anpassen
  4. Verlinkungen analysieren, anpassen
  5. Schutzbereiche definieren, falls Bedarf
  6. Syntax-Lesbarkeit verbessern
  7. Lokalisierung – soweit bei den vorangehenden Schritten noch nicht erledigt
  8. Syntaxkorrektur bereinigt automatisch korrigierbare Fehler oder meldet Syntaxfehler, für die keine automatische Korrektur möglich ist.
  9. 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.

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

[Bearbeiten | Quelltext bearbeiten]

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.
    • "{{" – Vorlageneinbindungen werden in ihrer Ausdehnung analysiert.
    • "[" – 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.