Auf dieser Seite und den Unterseiten stelle ich meine eigenen Skripte vor. Wenn du nicht weißt, welche Skripte du verwenden willst, empfehle ich dir, in deine common.js den folgenden Code einzutragen:
//Skriptsammlung Fliegelflagel, [[Benutzer:Schnark/js/fliegelflagel]]
(function (module) {
if (mw.loader.getState(module)) {
mw.loader.using(module).then(function () {
((mw.libs.ve.targetLoader && mw.libs.ve.targetLoader.addPlugin) || mw.libs.ve.addPlugin)(function () {
var ve = $.Deferred();
mw.hook('userjs.schnark-fliegelflagel.ve').fire(ve);
return ve.promise();
});
});
}
})('ext.visualEditor.desktopArticleTarget.init');
mw.hook('userjs.schnark-fliegelflagel.userdefine').fire({
version: 1.1,
profile: undefined,
additional: {
},
config: {
}
});
//[[Benutzer:Schnark/js/fliegelflagel.js/define.js]]
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/fliegelflagel.js/define.js&action=raw&ctype=text/javascript');
mw.loader.load('https://de.wikipedia.org/w/index.php?title=Benutzer:Schnark/js/fliegelflagel.js/load.js&action=raw&ctype=text/javascript');
//Fliegelflagel Ende
Dies aktiviert einen Teil meiner Skripte automatisch, auf Spezial:Fliegelflagel kannst du sie dann nach deinen Wünschen ein- und ausschalten und einfach konfigurieren. Mehr Informationen über dieses Skript findest du auf Benutzer:Schnark/js/fliegelflagel.
Einschränkungen
BearbeitenMeine Skripte funktionieren alle in Firefox mit dem Vector-Skin und dem VisualEditor in der deutschen Wikipedia. In den meisten Fällen sehe ich aber keinen Grund, warum sie nicht auch in anderen Browsern, Skins und Projekten funktionieren sollten, mir bekannte Einschränkungen sind jeweils angegeben. Sollte es dennoch zu Problemen kommen, dann sprich mich auf meiner Diskussionsseite an. Beachte, dass die alte Bearbeitenoberfläche von meinen Skripten teilweise nur eingeschränkt oder überhaupt nicht unterstützt wird, nutze im Zweifelsfall den VisualEditor einschließlich des als Betafeatures verfügbaren Quelltextmodus.
Interne Funktionsweisen können sich jederzeit ändern, wer ein Skript in einer Weise verwendet, die nie dokumentiert war, muss damit rechnen, dass es ohne Vorwarnung nicht mehr funktioniert. Wenn ich die Dokumentation ändere, dann wird das alte Vorgehen noch eine Weile weiterhin funktionieren, aber ich erwarte, dass Nutzer sich selbstständig und zügig anpassen. Warnungen in der JavaScript-Konsole sollten in solchen Fällen nicht ignoriert werden.
Einbindung
BearbeitenFalls du viele Skripte von mir nutzt, empfiehlt es sich meine Skriptsammlung Fliegelflagel zu verwenden. Aber auch mit dem üblichen mw.loader.load
oder dem älteren importScript
kannst du meine Skripte einbinden. Füge in diesem Fall bitte immer in einem Kommentar einen Wikilink auf das eingebundene Skript hinzu, damit deine common.js auf „Links auf diese Seite“ auftaucht. Auf der Beschreibungsseite ist immer der notwendige Code angegeben, den du direkt kopieren kannst.
Konfiguration
BearbeitenViele meiner Skripte lassen sich konfigurieren, wenn man weiß, wie es geht. Die Methode unterscheidet sich aber zwischen einzelnen Skripten stark. Im Idealfall ist auf der Dokumentationsseite angegeben, wie die Konfiguration funktioniert, das ist aber praktisch nie der Fall.
Der bestmögliche Fall ist, dass du Fliegelflagel nutzt und dort eine einfache Konfiguration auf der Einstellungsseite vorgesehen ist. Wenn das nicht der Fall ist, kannst du in den meisten Fällen einen Code der folgenden Art verwenden:
mw.user.options.set('name-der-konfigurations-variablen', 'Wert');
oder
mw.hook('userjs.load-script.skriptname').add(function (config) {
config.konfigurationsVariable = 'Wert';
});
Falls dies nicht dokumentiert ist, musst du die Methode am Quellcode selbst ablesen und damit rechnen, dass sie sich jederzeit ändern kann.
Meine Skripte
Bearbeitenfliegelflagel.js
BearbeitenFliegelflagel ist eine Art Meta-Skript, das es erlaubt, meine und weitere Skripte einfach zu verwenden. Mehr unter /fliegelflagel.
artikel-statistik.js
BearbeitenZeigt nach einiger Rechenzeit zu jeder Textstelle an, wer sie wann eingefügt hat. Mehr unter /artikel-statistik.
bandersnatch.js
BearbeitenBotfrontend mit verschiedenen Betriebsmodi. Mehr unter /bandersnatch.
bkl-check.js
BearbeitenHebt wie das bekannte Gadget Links auf Begriffklärungsseiten hervor. Mehr unter /bkl-check.
diff.js
BearbeitenZeigt – ähnlich wie Cacycles WikEd – Versionsunterschiede so, dass man auch sieht, was wirklich geändert wurde. Mehr unter /diff.
dropdown.js
BearbeitenEin paar Auswahllisten in der linken Spalte für den Schnellzugriff auf wichtige Seiten. Mehr unter /dropdown.
extratabs.js
BearbeitenZusätzliche Reiter mit nützlichen Werkzeugen am oberen Bildschirmrand. Mehr unter /extratabs.
gestures.js
BearbeitenErlaubt eine leichtere Navigation mit Hilfe von Mausgesten. Mehr unter /gestures.
imagepopups.js
BearbeitenStellt Bilder beim Anklicken vergrößert dar. Mehr unter /imagepopups.
journal.js
BearbeitenZeigt die zuletzt besuchten Seiten an, damit man schnell zu diesen zurückgehen kann. Mehr unter /journal.
letzteredit.js
BearbeitenZeigt auf Benutzerseiten an, wann der Benutzer zuletzt aktiv war. Mehr unter /letzteredit.
linkUnlinked.js
BearbeitenWandelt in Versionsunterschieden und JS-/CSS-Seiten Linksyntax in richtige Links um. Mehr unter /linkUnlinked.
localFile.js
BearbeitenErmöglicht es, beim Bearbeiten den Text aus einer lokalen Datei zu laden und zu speichern. Mehr unter /localFile.
mostEdited.js
BearbeitenZeigt die am häufigsten bearbeiteten Seiten an. Mehr unter /mostEdited.
notizen.js
BearbeitenErlaubt es private Notizen, auch mit Erinnerungsfunktion, zu Seiten hinzuzufügen. Mehr unter /notizen.
personendaten.js
BearbeitenErleichtert das Bearbeiten und vor allem das Hinzufügen von Personendaten. Mehr unter /personendaten.
normdaten.js
BearbeitenErleichtert das Bearbeiten und Hinzufügen von Normdaten, sowohl zusammen mit den Personendaten, als auch alleine. Mehr unter /personendaten/normdaten.
popuprefs.js
BearbeitenZeigt Einzelnachweise beim Überfahren mit der Maus an. Mehr unter /popuprefs.
search++.js
BearbeitenErmöglicht komplexe Suchanfragen. Mehr unter /search++.
section-links.js
BearbeitenZeigt den Bearbeiten-Link als Symbol direkt neben Abschnittsüberschriften an und fügt weitere nützliche Links hinzu. Mehr unter /section-links.
small-world.js
BearbeitenFindet die kürzeste Verbindung zwischen zwei Seiten. Mehr unter /small-world.
specialinterwiki.js
BearbeitenZeigt auch auf Spezialseiten Interwikilinks an. Mehr unter /specialinterwiki.
topcontrib.js
BearbeitenFärbt Spezial:Benutzerbeiträge für mehr Übersichtlichkeit ein. Mehr unter /topcontrib.
veAutocorrect.js
BearbeitenFügt im VisualEditor eine Autokorrektur-Funktion hinzu, hauptsächlich für Typografie. Mehr unter /veAutocorrect.
veCode.js
BearbeitenAktiviert den Quelltextmodus des VisualEditor auch für JavaScript und CSS. Mehr unter /veCode.
veCustomize.js
BearbeitenErmöglicht im VisualEditor die Konfiguration der Werkzeugleiste. Mehr unter /veCustomize.
veHint.js
BearbeitenFindet und behebt häufige Probleme während des Bearbeitens. Mehr unter /veHint.
veSuggestions.js
BearbeitenStellt eine Autovervollständigung im VisualEditor bereit. Mehr unter /veSuggestions.
watchlist++.js
BearbeitenStellt eine alternative Form der Beobachtungsliste zur Verfügung, die wie ein Posteingang eines E-Mail-Kontos funktioniert. Mehr unter /watchlist++.
wikiblame.js
BearbeitenErmöglicht es ohne externe Tools herauszufinden, wann ein bestimmter Inhalt eingefügt wurde. Mehr /wikiblame.
wochentag.js
BearbeitenZeigt auf der Beobachtungsliste und auf weiteren Seiten den Wochentag zum Datum an. Mehr unter /wochentag.
Ungepflegte Skripte
BearbeitenFolgende Skripte stammen ebenfalls von mir, werden aber nicht oder nur noch in geringem Maße gepflegt. Das bedeutet nicht, dass du sie nicht mehr verwenden kannst oder solltest. Die meisten sollten auch weiterhin funktioneren und einige verwende ich selbst noch. Wenn du aber einen Fehler darin findest oder einen Ergänzungswunsch hast, kann es gut passieren, dass es mich einfach nicht interessiert. Falls du sie selbst weiterpflegen willst, kannst du das natürlich tun, indem du dir eine Kopie in deinen Benutzernamensraum nimmst. Füge oben einen Kommentar ein, der mich als ursprünglichen Autor ausweist, um lizenzkonform zu sein.
ajaxProxy.js
BearbeitenHilfsskript für screenshot.js, das aber inzwischen nicht mehr nötig sein sollte.
altehauptseite.js
BearbeitenZeigt die Hauptseite in einer beliebigen alten Version. Mehr unter /altehauptseite.
War ursprünglich eine Lösung, die ein Problem suchte, ich wollte nur den jQuery-Datepicker ausprobieren. Nutze stattdessen einfach Wikipedia:Hauptseite/Archiv.
antispoof.js
BearbeitenHebt verdächtige Sonderzeichen (wie in SСΗNΑRΚ) hervor. Mehr unter /antispoof.
Schwankt seit Jahren zwischen „aktualisiert“ und „ungepflegt“ hin und her. Jetzt ist es mal wieder in diesem Abschnitt.
autoantraege.js
BearbeitenStellt – fast vollständig kompatibel zu PDDs monobook – (halb-) automatisch Lösch- und andere Anträge. Mehr unter /autoantraege.
Ich habe es selbst nicht verwendet, die einzelnen Aufgaben sind ähnlich genug, dass man nicht ständig Code duplizieren will, aber doch so verschieden, dass generische Funktionen schwer sind, was die Pflege nicht leicht macht. Zudem musste ich bei mehreren Benutzern feststellen, dass sie der Ansicht sind mit diesem Skript nicht mehr selber denken zu müssen.
autoedit.js
BearbeitenErmöglicht ein (halb-) automatisches Bearbeiten von Seiten. Mehr unter /autoedit.
Hilfsmodul, das eigentlich nur von autoantraege.js verwendet wird.
bot.js
BearbeitenIn JavaScript geschriebenes Botframework. Mehr unter /bot.
Das Skript wurde durch bandersnatch.js und search++.js abgelöst.
botfrontend.js
BearbeitenFrontend für meinen Bot. Mehr unter /botfrontend.
Das Skript wurde durch bandersnatch.js und search++.js abgelöst.
dialog.js
BearbeitenVereinfacht die Erstellung von Dialogfeldern. Mehr unter /dialog.
Hilfsmodul, das eigentlich nur von autoantraege.js verwendet wird.
edithelper.js
BearbeitenZwei Helferlein beim Bearbeiten: Auto-Vervollständigung und Compose-Taste. Mehr unter /edithelper.
Der VisualEditor ist wesentlich komfortabler, mit #veSuggestions.js und #veAutocorrect.js stehen dort auch vergleichbare Skripte von mir zur Verfügung.
fullscreen.js
BearbeitenBlendet die linke und obere Navigation aus, damit man mehr Platz zum Arbeiten hat. Mehr unter /fullscreen.
Das Skript verstößt gegen so ziemlich jede Regel, die JSHint vorschlägt, was bei der Kürze fast unmöglich erscheint.
highlight.js
BearbeitenHebt Wörter oder sonstiges im Text hervor. Mehr unter /highlight.
Hilfsmodul, das eigentlich nur von antispoof.js verwendet wird.
jsmodules.js
BearbeitenErleichtert die Einbindung anderer Skripte erheblich und ermöglicht es, einzelne Skripte temporär zu aktiveren oder zu deaktivieren, ohne die vector.js bearbeiten zu müssen. Mehr unter /jsmodules.
Das Skript wurde inzwischen vom Fliegelflagel abgelöst.
kackbalken.js
BearbeitenZeigt auch in Zeiten von Echo den guten alten Kackbalken an, bei Bedarf auch mit unkonventionellen Meldungen. Mehr unter /kackbalken.
Das Skript funktioniert wegen eines Fehlers in MediaWiki, der nicht auf absehbare Zeit behoben wird, nicht mehr.
popups-light.js
BearbeitenZeigt beim Überfahren eines Links mit der Maus eine Artikelvorschau an, ohne irgendwelche Zusatzfunktionen. Mehr unter /popups-light.
Ich habe es nie verwendet, der gewählte Ansatz für das Popup ist nicht unbedingt ideal.
screenshot.js
BearbeitenErlaubt es Bildschirmfotos zu erstellen und direkt hochzuladen. Mehr unter /screenshot.
Als es geschrieben wurde, war es ein sehr modernes Skript, sodass es auch heute noch nicht allzu veraltet ist. Dennoch wäre über kurz oder lang inzwischen ein fast kompletter Neuschrieb notwendig, zu dem ich keine Lust habe.
signaturen.js
BearbeitenEntfernt die meisten Bilder und anderen Hervorhebungen aus Benutzersignaturen. Mehr unter /signaturen.
Funktioniert mit aktuellen jQuery-Versionen vermutlich nicht mehr, CSS ist doch besser geeignet.
stub.js
BearbeitenErzeugt ein Artikel-Grundgerüst aus Wikidata und anderen Sprachen. Mehr unter /stub.
War nur als Machbarkeitsstudie gedacht, ich habe keine Lust es mit dem VisualEditor kompatibel zu machen.
syntaxhighlight.js
BearbeitenFärbt die Syntax direkt beim Bearbeiten ein. Mehr unter /syntaxhighlight.
Eine offizielle Syntaxhervorhebung ist verfügbar und sollte daher stattdessen verwendet werden.
unicode-analyze.js
BearbeitenStellt in der Fußzeile ein Eingabefeld zur Verfügung, damit man beliebige Unicode-Zeichen analysieren kann. Mehr unter /unicode-analyze.
Relativ hoher Wartungsaufwand bei geringem Nutzen und fragwürdiger Darstellung, sodass ich das Skript nicht weiter pflegen möchte.
veSummary.js
BearbeitenSpeichert im VisualEditor die verwendeten Bearbeitungskommentare. Mehr unter /veSummary.
Das kann der VisualEditor inzwischen von Haus aus (wobei der Code im Wesentlichen aus diesem Skript stammt).
virtuelleEinzelnachweise.js
BearbeitenZeigt Einzelnachweise in der Vorschau an. Mehr unter /virtuelleEinzelnachweise.
Der VisualEditor ist wesentlich komfortabler.
vorleser.js
BearbeitenLiest Seiten vor. Mehr unter /vorleser.
War ein sehr experimentelles Skript, das ich nicht weiterpflegen möchte.
watchlisttags.js
BearbeitenErmöglicht es, Seiten auf der Beobachtungsliste mit Stichwörtern zu kennzeichnen. Mehr unter /watchlisttags.
Das Skript watchlist++ leistet Ähnliches.
wikieditor.js
BearbeitenErmöglicht eine eigene Konfiguration der Werkzeugleiste. Mehr unter /wikieditor.
Der VisualEditor ist wesentlich komfortabler, mit #veCustomize.js ist ein vergleichbares Skript von mir im Entstehen.
Hilfsmodule
BearbeitenFolgende Skripte sind keine eigenständigen Programme, sondern können von anderen Skripten eingebunden werden, um bestimmte Aufgaben zu erledigen.
diff.js/core.js
BearbeitenStellt eine verbesserte Diff-Funktion zur Verfügung. Mehr unter /diff/core.
gestures.js/jquery.js
BearbeitenStellt ein jQuery-Plugin für Mausgesten zur Verfügung. Mehr unter /gestures/jquery.
rpc.js
BearbeitenHilfsskript für Aufruf noch nicht geladener Funktionen. Mehr unter /rpc.
Template.js
BearbeitenVorlagenparser für automatisierte Bearbeitungen. Mehr unter /Template.
templateEditor.js
BearbeitenErmöglicht ein Bearbeiten von Seiten (meist Vorlagen) über einfache Formulare. Mehr unter /templateEditor.
Weitere Skripte
BearbeitenFolgende Skripte sind nicht für den normalen Gebrauch gedacht.
browserttest.js
BearbeitenRegressionstest. Mehr unter /browsertest. Dazu gehören mehrere Unterseiten.
qunit.js
BearbeitenRegressionstests mit QUnit. Mehr unter /qunit. Dazu gehören mehrere Unterseiten bei den getesteten Skripts.
Tabelle
BearbeitenSiehe auch
Bearbeiten- Wikipedia:Technik/Skin/Benutzerskripte
- Nützlicher CSS-Code
- Hinweise zu Tests
- Alle meine Skripte inklusive Beschreibung als XML-Dump herunterladen (
wget -O schnark.xml 'https://de.wikipedia.org/w/api.php?action=query&generator=allpages&gaplimit=max&gapprefix=Schnark/js&gapnamespace=2&export&exportnowrap'
) - Fast alle Tests durchführen (global, ungepflegt)