Benutzer:ⵓ/ARreplace

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

Wozu dient das Tool

[Bearbeiten | Quelltext bearbeiten]
  • Eine Minute ist schnell verflossen, und viel Zeit geht verloren zwischen dem Öffnen einer Seite und dem tatsächlichen Umsetzung eines Edits. Bei vielen gleichen oder ähnlichen Edits hilft dieses Werkzeug die Zeit des Rundherum eines Edit zu reduzieren.
  • Nach einem Klick auf die Schaltfläche werden die Änderungen durchgeführt, die zuvor in deinem persönlichen common.js oder global.js definiert wurden, und falls autoDiff.js aktiviert ist, wird auch sofort die Änderung im Quelltext angezeigt.

Herkunft

ARreplace steht für Auto-Regexp-Replace und ist ein Fork von Autoformatter. Gegenüber dem Autoformatter fehlen die meisten Funktionen für Syntaxkorrekturen. Für benutzerdefinierte Ersetzungen ist es notwendig, eine Variable autoRegexpReplacements entweder auf global.js oder in common.js anzulegen.

Folgende Zeilen entweder in die eigene common.js (zur lokalen Verwendung nur in der deutschsprachigen Wikipedia) oder die eigene global.js im Meta-Wiki (zur globalen Verwendung in allen Wikimedia-Wikis) kopieren:

   // [[User:Boshomi/ARreplace.js]]
  mw.loader.load( '//de.wikipedia.org/w/index.php?title=Benutzer:TMg/autoFormatter/AReplace.js&action=raw&ctype=text/javascript' );

   // zusätzlich notwendig für sofortige Anzeige des Diff:
   mw.loader.load( '//de.wikipedia.org/w/index.php?title=Benutzer:TMg/autoFormatter/autoDiff.js&action=raw&ctype=text/javascript' );
Achtung: Das Skript benötigt die Einbindung von Autoformatter um funktionsfähig zu sein.

Autoformatter ist einbindbar über Fliegelflagel oder direkt über die Persönliche Benutzerscripte common.js(nur für das lokale Wiki) oder global.js (für alle Wikis)

Zusätzliche ist die Einbindung von Schnark-Diff notwendig, um sofort das Diff zu sehen. Schnark-Diff ist ebenfalls bequem mit Fliegelflagel einbindbar.

// [[User:TMg/autoFormatter.js]]
mw.loader.load( '//de.wikipedia.org/w/index.php?title=Benutzer:TMg/autoFormatter.js&action=raw&ctype=text/javascript' );

Beispiel für eine Einbindung: Meta:User:Boshomi/global.js (Autoformatter ist über Fliegelflagel aktiviert)

Damit das ARreplace etwas macht, muss die Variabel autoRegexpReplacement angelegt und mit zumindest einem Suchen/Ersetzen-Objekt befüllt sein. Die einzelnen Suchen/Ersetzen-Objekte werden in der Reihenfolge durchgeführt, wie sie im Array angeben sind.

Die Syntax der Variabel autoRegexpReplacement

Bei der Variablen autoRegexpReplacement handelt es sich um ein JavaScript-Array (erkennbar an der öffnenden eckigen Klammer zu Beginn und der schließenden eckigen Klammer am Ende).

Dieses Javaskript-Array wird nun mit Objekten gefüllt, die jeweils drei Felder (find, mend und neat) enthalten.

  • find ist der Suchtext, dieser kann ein einfacher Text innerhalb von "Hochkommas", ein /Regexp/-Objekt erkennbar an den Shlashes zu Beginn und am Ende oder eine JavaScript-Funktion sein. Einzelne Objekte werden durch einen Beistrich getrennt.
  • mend (Das Substantiv mend bedeutet sowohl den Flicken als auch den Reparaturvorgang an sich. Hier kommt der Text hin, mit dem die zuvor gefundene Stelle repariert werden sollte. Es können auch Funktionen eingesetzt werden.
  • neat Des Wort neat bedeutet (u.a.) einfach aber treffend und effizient. Hier wird der Text für die Zusammenfassungszeile angegeben.
Beispiel für die Befüllung der Variable autoRegexpReplacements
  /* autoRegexpReplacements
  Array of objects:
    fields:
      "find": Suchtext oder js-regexp-object
      "mend": Ersetzung
      "neat": Text für die Zusammenfassungszeile
  */
var autoRegexpReplacements = [
    {"find" : /[<]!--\s*österreichbez\w+\s*--[>]/i,
     "mend" : '{{österreichbezogen}}',
     "neat" : 'html→template ' /* Regexp zum Ersetzen des html-Kommentars durch die Vorlage */
    } 

  , {"find" : /\{\{Vorlage:/gi ,                    
     "mend" : '{{',                  
     "neat" : '{{Vorlage →{{ ' /* Regexp zum Entfernen des Präfix "Vorlage:" bei Vorlageneinbindungen */
    } 

  , {"find" : /\(\+\s*(1\d{3})\)(?!\.[jgps])/g ,                    
     "mend" : '(† $1)',                  
     "neat" : '+ nach †' /* Regexp zum Ersetzen von (+ 1234) nach († 1234) */
    }  

  , {"find" : 'Österrreich',                    
     "mend" : 'Österreich',                  
     "neat" : 'Rechtschreibung ' /* Schlichte Textersetzung, ein Typo wird gefixt */
    }  
   
  , {"find" : /(\{\{SORTIERUNG:|\[\[Kategorie:[^\n[\]|]*\|)(?:#:+)?0*(\d+(?:\.\d{3})*)(?!\d)/g,
     "mend" : function($0, $1, $2) {
                 return $1 + '#' + $2.replace(/\d\D*/g, ':') + $2.replace(/\D+/g, '');
              }
     "neat" : '[[Hilfe:Kategorien #8. Regel: Ziffern am Lemma-Anfang]]' /* Beispiel Ersatz mit Hilfe einer Funktion (Autoformatter Beispiel) */
     }

  ];
[Bearbeiten | Quelltext bearbeiten]

de:User:TMg/autoFormatter/AReplace.js