Benutzer:Steffen/Begriffklärungsentlinkung
Begriffsklärungsentlinkungen haben sich zu einem kleinen Hobby von mir entwickelt. Das Problem ist, dass es ziemlich viele Seiten gibt, die der Begriffsklärung (BKL) dienen, auf die jedoch viele Artikel verweisen. Typischerweise wird z.B. auf Adam und Eva statt auf Adam und Eva verlinkt. Diese falschen Links will ich beheben. Leider sind solche „Umlinkungen“ nicht Bot-mäßig durchführen, da meistens mehrere der in der BKL verwandten Begriffe benutzt werden. Eine Übersicht über die Begriffsklärungen bietet die Kategorie:Begriffsklärung.
Vorgehen
[Bearbeiten | Quelltext bearbeiten]Um eine BKL zu entlinken, hilft das Werkzeug Links auf diese Seite, das am linken Rand zu finden ist. Auf dieser Spezialseite werden alle Seiten, die auf diese Seite linken, genannt. All die dort angegebenen Artikel von Hand durchzugehen, wäre natürlich ziemlich beschwerlich. Deshalb lade ich mir eine Kopie dieser Seite in jedit und bearbeite die dort (am einfachsten mit dem unten stehenden Makro). Dann lade ich alle Seiten auf einen Schwung in jedit und suche dann in allen Fenstern nach den Links (dabei ist darauf zu achten, dass auf einige BKL auch über Redirects verwiesen wird. Deshalb muss für die Entlinkung der BKL Josef nicht nur nach [[Josef sondern auch nach [[Joseph gesucht werden.
Ich geb mir dabei größte Mühe keine sinnlosen Alle-Ersetzen-Aktionen zu machen, sondern kontrolliere jeden Link und lade die ganzen Änderungen dann gemeinsam wieder hoch - daher hab ich auch mal 100 Edits in einer Minute geschafft.
Vor Fehlern bin ich bei der Aktion aber trotzdem nicht sicher - daher wenn etwas auffällt, dann sagts mir bitte!
Probleme und Fallstricke
[Bearbeiten | Quelltext bearbeiten]Neben Problemen, die durch zu schnelles oder unüberlegtes Klicken auftreten, gibt es auch noch andere Fallstricke:
- Es gibt Begriffe, die fast unmöglich zu bearbeiten sind. Johannes ist ein tolles Beispiel hierfür: Auf der linkenden Seite wird oft nicht klar, auf welchen der verschiedenen Johanni sich der Link bezieht. (Das liegt schon allein an der Masse von Heiligen dieses Namens)
- Manche BKL bereiten auch andere Probleme: ha war so ein Fall. Die linkenden Seiten meinten zu 99,9% die Abkürzung von Hektar. Jedoch war Hektar als ich da gerade dran war ein redirect auf Ar (Flächenmaß). Brav wie ich bin, hab ich also alle Links auf ha in [[Ar (Flächenmaß)|ha]] umgewandelt. Die Geschichte lief nach einem Sturm der Entrüstung (der auf meiner Diskussionsseite und im Archiv noch zu sehen ist) darauf raus, dass es jetzt wieder eine eigene Seite Hektar gibt.
- Man selbst wird immer wieder als Bot angesehen, wenn man plötzlich mal 50 Änderungen in 30 Sekunden hinlegt. Daher ist es
- sehr wichtig nicht die Zusammenfassung der gemachten Änderungen zu vergessen und
- am besten einen Hinweis auf seine Diskussionsseite zu schreiben.
Makro für jedit
[Bearbeiten | Quelltext bearbeiten]Folgendes Makro für jedit ist zum Bearbeiten der Liste, die Links auf diese Seite ausspuckt. Es löscht alle Seiten aus dem Wikipedia- und Benutzer-Namensraum, sowie alle Diskussionsseiten. Dann werden die übrigen Seiten als wikilinks formatiert.
SearchAndReplace.setSearchString("^.* o "); SearchAndReplace.setReplaceString("* "); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view); SearchAndReplace.setSearchString(".*\\*.*Diskussion.*$"); SearchAndReplace.setReplaceString(""); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view); SearchAndReplace.setSearchString(".*\\* Wikipedia.*$"); SearchAndReplace.setReplaceString(""); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view); SearchAndReplace.setSearchString(".*\\* Benutzer.*$"); SearchAndReplace.setReplaceString(""); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view); SearchAndReplace.setSearchString("$"); SearchAndReplace.setReplaceString("]]"); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view); SearchAndReplace.setSearchString("^\\]\\]"); SearchAndReplace.setReplaceString(""); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view); SearchAndReplace.setSearchString("^.*\\* "); SearchAndReplace.setReplaceString("*[["); SearchAndReplace.setBeanShellReplace(false); SearchAndReplace.setIgnoreCase(false); SearchAndReplace.setRegexp(true); SearchAndReplace.setSearchFileSet(new CurrentBufferSet()); SearchAndReplace.replaceAll(view);