Benutzer:Schnark/js
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änkungenBearbeiten
Meine 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.
EinbindungBearbeiten
Falls 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.
KonfigurationBearbeiten
Viele 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 SkripteBearbeiten
fliegelflagel.jsBearbeiten
Fliegelflagel ist eine Art Meta-Skript, das es erlaubt, meine und weitere Skripte einfach zu verwenden. Mehr unter /fliegelflagel.
artikel-statistik.jsBearbeiten
Zeigt nach einiger Rechenzeit zu jeder Textstelle an, wer sie wann eingefügt hat. Mehr unter /artikel-statistik.
bandersnatch.jsBearbeiten
Botfrontend mit verschiedenen Betriebsmodi. Mehr unter /bandersnatch.
bkl-check.jsBearbeiten
Hebt wie das bekannte Gadget Links auf Begriffklärungsseiten hervor. Mehr unter /bkl-check.
diff.jsBearbeiten
Zeigt – ähnlich wie Cacycles WikEd – Versionsunterschiede so, dass man auch sieht, was wirklich geändert wurde. Mehr unter /diff.
dropdown.jsBearbeiten
Ein paar Auswahllisten in der linken Spalte für den Schnellzugriff auf wichtige Seiten. Mehr unter /dropdown.
extratabs.jsBearbeiten
Zusätzliche Reiter mit nützlichen Werkzeugen am oberen Bildschirmrand. Mehr unter /extratabs.
gestures.jsBearbeiten
Erlaubt eine leichtere Navigation mit Hilfe von Mausgesten. Mehr unter /gestures.
imagepopups.jsBearbeiten
Stellt Bilder beim Anklicken vergrößert dar. Mehr unter /imagepopups.
journal.jsBearbeiten
Zeigt die zuletzt besuchten Seiten an, damit man schnell zu diesen zurückgehen kann. Mehr unter /journal.
letzteredit.jsBearbeiten
Zeigt auf Benutzerseiten an, wann der Benutzer zuletzt aktiv war. Mehr unter /letzteredit.
linkUnlinked.jsBearbeiten
Wandelt in Versionsunterschieden und JS-/CSS-Seiten Linksyntax in richtige Links um. Mehr unter /linkUnlinked.
localFile.jsBearbeiten
Ermöglicht es, beim Bearbeiten den Text aus einer lokalen Datei zu laden und zu speichern. Mehr unter /localFile.
mostEdited.jsBearbeiten
Zeigt die am häufigsten bearbeiteten Seiten an. Mehr unter /mostEdited.
notizen.jsBearbeiten
Erlaubt es private Notizen, auch mit Erinnerungsfunktion, zu Seiten hinzuzufügen. Mehr unter /notizen.
personendaten.jsBearbeiten
Erleichtert das Bearbeiten und vor allem das Hinzufügen von Personendaten. Mehr unter /personendaten.
normdaten.jsBearbeiten
Erleichtert das Bearbeiten und Hinzufügen von Normdaten, sowohl zusammen mit den Personendaten, als auch alleine. Mehr unter /personendaten/normdaten.
popuprefs.jsBearbeiten
Zeigt Einzelnachweise beim Überfahren mit der Maus an. Mehr unter /popuprefs.
search++.jsBearbeiten
Ermöglicht komplexe Suchanfragen. Mehr unter /search++.
section-links.jsBearbeiten
Zeigt den Bearbeiten-Link als Symbol direkt neben Abschnittsüberschriften an und fügt weitere nützliche Links hinzu. Mehr unter /section-links.
small-world.jsBearbeiten
Findet die kürzeste Verbindung zwischen zwei Seiten. Mehr unter /small-world.
specialinterwiki.jsBearbeiten
Zeigt auch auf Spezialseiten Interwikilinks an. Mehr unter /specialinterwiki.
topcontrib.jsBearbeiten
Färbt Spezial:Benutzerbeiträge für mehr Übersichtlichkeit ein. Mehr unter /topcontrib.
veAutocorrect.jsBearbeiten
Fügt im VisualEditor eine Autokorrektur-Funktion hinzu, hauptsächlich für Typografie. Mehr unter /veAutocorrect.
veCode.jsBearbeiten
Aktiviert den Quelltextmodus des VisualEditor auch für JavaScript und CSS. Mehr unter /veCode.
veCustomize.jsBearbeiten
Ermöglicht im VisualEditor die Konfiguration der Werkzeugleiste. Mehr unter /veCustomize.
veHint.jsBearbeiten
Findet und behebt häufige Probleme während des Bearbeitens. Mehr unter /veHint.
veSuggestions.jsBearbeiten
Stellt eine Autovervollständigung im VisualEditor bereit. Mehr unter /veSuggestions.
watchlist++.jsBearbeiten
Stellt eine alternative Form der Beobachtungsliste zur Verfügung, die wie ein Posteingang eines E-Mail-Kontos funktioniert. Mehr unter /watchlist++.
wikiblame.jsBearbeiten
Ermöglicht es ohne externe Tools herauszufinden, wann ein bestimmter Inhalt eingefügt wurde. Mehr /wikiblame.
wochentag.jsBearbeiten
Zeigt auf der Beobachtungsliste und auf weiteren Seiten den Wochentag zum Datum an. Mehr unter /wochentag.
Ungepflegte SkripteBearbeiten
Folgende 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.jsBearbeiten
Hilfsskript für screenshot.js, das aber inzwischen nicht mehr nötig sein sollte.
altehauptseite.jsBearbeiten
Zeigt 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.jsBearbeiten
Hebt 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.jsBearbeiten
Stellt – 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.jsBearbeiten
Ermöglicht ein (halb-) automatisches Bearbeiten von Seiten. Mehr unter /autoedit.
Hilfsmodul, das eigentlich nur von autoantraege.js verwendet wird.
bot.jsBearbeiten
In JavaScript geschriebenes Botframework. Mehr unter /bot.
Das Skript wurde durch bandersnatch.js und search++.js abgelöst.
botfrontend.jsBearbeiten
Frontend für meinen Bot. Mehr unter /botfrontend.
Das Skript wurde durch bandersnatch.js und search++.js abgelöst.
dialog.jsBearbeiten
Vereinfacht die Erstellung von Dialogfeldern. Mehr unter /dialog.
Hilfsmodul, das eigentlich nur von autoantraege.js verwendet wird.
edithelper.jsBearbeiten
Zwei 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.jsBearbeiten
Blendet 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.jsBearbeiten
Hebt Wörter oder sonstiges im Text hervor. Mehr unter /highlight.
Hilfsmodul, das eigentlich nur von antispoof.js verwendet wird.
jsmodules.jsBearbeiten
Erleichtert 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.jsBearbeiten
Zeigt 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.jsBearbeiten
Zeigt 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.jsBearbeiten
Erlaubt 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.jsBearbeiten
Entfernt 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.jsBearbeiten
Erzeugt 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.jsBearbeiten
Färbt die Syntax direkt beim Bearbeiten ein. Mehr unter /syntaxhighlight.
Eine offizielle Syntaxhervorhebung ist verfügbar und sollte daher stattdessen verwendet werden.
unicode-analyze.jsBearbeiten
Stellt 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.jsBearbeiten
Speichert 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.jsBearbeiten
Zeigt Einzelnachweise in der Vorschau an. Mehr unter /virtuelleEinzelnachweise.
Der VisualEditor ist wesentlich komfortabler.
vorleser.jsBearbeiten
Liest Seiten vor. Mehr unter /vorleser.
War ein sehr experimentelles Skript, das ich nicht weiterpflegen möchte.
watchlisttags.jsBearbeiten
Ermöglicht es, Seiten auf der Beobachtungsliste mit Stichwörtern zu kennzeichnen. Mehr unter /watchlisttags.
Das Skript watchlist++ leistet Ähnliches.
wikieditor.jsBearbeiten
Ermö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.
HilfsmoduleBearbeiten
Folgende Skripte sind keine eigenständigen Programme, sondern können von anderen Skripten eingebunden werden, um bestimmte Aufgaben zu erledigen.
diff.js/core.jsBearbeiten
Stellt eine verbesserte Diff-Funktion zur Verfügung. Mehr unter /diff/core.
gestures.js/jquery.jsBearbeiten
Stellt ein jQuery-Plugin für Mausgesten zur Verfügung. Mehr unter /gestures/jquery.
rpc.jsBearbeiten
Hilfsskript für Aufruf noch nicht geladener Funktionen. Mehr unter /rpc.
Template.jsBearbeiten
Vorlagenparser für automatisierte Bearbeitungen. Mehr unter /Template.
templateEditor.jsBearbeiten
Ermöglicht ein Bearbeiten von Seiten (meist Vorlagen) über einfache Formulare. Mehr unter /templateEditor.
Weitere SkripteBearbeiten
Folgende Skripte sind nicht für den normalen Gebrauch gedacht.
browserttest.jsBearbeiten
Regressionstest. Mehr unter /browsertest. Dazu gehören mehrere Unterseiten.
qunit.jsBearbeiten
Regressionstests mit QUnit. Mehr unter /qunit. Dazu gehören mehrere Unterseiten bei den getesteten Skripts.
TabelleBearbeiten
Siehe auchBearbeiten
- 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)