Benutzer:Schnark/js

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

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[Bearbeiten | Quelltext bearbeiten]

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.

Einbindung[Bearbeiten | Quelltext bearbeiten]

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.

Konfiguration[Bearbeiten | Quelltext bearbeiten]

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 Skripte[Bearbeiten | Quelltext bearbeiten]

fliegelflagel.js[Bearbeiten | Quelltext bearbeiten]

Fliegelflagel ist eine Art Meta-Skript, das es erlaubt, meine und weitere Skripte einfach zu verwenden. Mehr unter /fliegelflagel.

artikel-statistik.js[Bearbeiten | Quelltext bearbeiten]

Zeigt nach einiger Rechenzeit zu jeder Textstelle an, wer sie wann eingefügt hat. Mehr unter /artikel-statistik.

bandersnatch.js[Bearbeiten | Quelltext bearbeiten]

Botfrontend mit verschiedenen Betriebsmodi. Mehr unter /bandersnatch.

bkl-check.js[Bearbeiten | Quelltext bearbeiten]

Hebt wie das bekannte Gadget Links auf Begriffklärungsseiten hervor. Mehr unter /bkl-check.

diff.js[Bearbeiten | Quelltext bearbeiten]

Zeigt – ähnlich wie Cacycles WikEd – Versionsunterschiede so, dass man auch sieht, was wirklich geändert wurde. Mehr unter /diff.

dropdown.js[Bearbeiten | Quelltext bearbeiten]

Ein paar Auswahllisten in der linken Spalte für den Schnellzugriff auf wichtige Seiten. Mehr unter /dropdown.

extratabs.js[Bearbeiten | Quelltext bearbeiten]

Zusätzliche Reiter mit nützlichen Werkzeugen am oberen Bildschirmrand. Mehr unter /extratabs.

gestures.js[Bearbeiten | Quelltext bearbeiten]

Erlaubt eine leichtere Navigation mit Hilfe von Mausgesten. Mehr unter /gestures.

imagepopups.js[Bearbeiten | Quelltext bearbeiten]

Stellt Bilder beim Anklicken vergrößert dar. Mehr unter /imagepopups.

journal.js[Bearbeiten | Quelltext bearbeiten]

Zeigt die zuletzt besuchten Seiten an, damit man schnell zu diesen zurückgehen kann. Mehr unter /journal.

letzteredit.js[Bearbeiten | Quelltext bearbeiten]

Zeigt auf Benutzerseiten an, wann der Benutzer zuletzt aktiv war. Mehr unter /letzteredit.

linkUnlinked.js[Bearbeiten | Quelltext bearbeiten]

Wandelt in Versionsunterschieden und JS-/CSS-Seiten Linksyntax in richtige Links um. Mehr unter /linkUnlinked.

localFile.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht es, beim Bearbeiten den Text aus einer lokalen Datei zu laden und zu speichern. Mehr unter /localFile.

mostEdited.js[Bearbeiten | Quelltext bearbeiten]

Zeigt die am häufigsten bearbeiteten Seiten an. Mehr unter /mostEdited.

notizen.js[Bearbeiten | Quelltext bearbeiten]

Erlaubt es private Notizen, auch mit Erinnerungsfunktion, zu Seiten hinzuzufügen. Mehr unter /notizen.

personendaten.js[Bearbeiten | Quelltext bearbeiten]

Erleichtert das Bearbeiten und vor allem das Hinzufügen von Personendaten. Mehr unter /personendaten.

normdaten.js[Bearbeiten | Quelltext bearbeiten]

Erleichtert das Bearbeiten und Hinzufügen von Normdaten, sowohl zusammen mit den Personendaten, als auch alleine. Mehr unter /personendaten/normdaten.

popuprefs.js[Bearbeiten | Quelltext bearbeiten]

Zeigt Einzelnachweise beim Überfahren mit der Maus an. Mehr unter /popuprefs.

search++.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht komplexe Suchanfragen. Mehr unter /search++.

section-links.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

Findet die kürzeste Verbindung zwischen zwei Seiten. Mehr unter /small-world.

specialinterwiki.js[Bearbeiten | Quelltext bearbeiten]

Zeigt auch auf Spezialseiten Interwikilinks an. Mehr unter /specialinterwiki.

topcontrib.js[Bearbeiten | Quelltext bearbeiten]

Färbt Spezial:Benutzerbeiträge für mehr Übersichtlichkeit ein. Mehr unter /topcontrib.

veAutocorrect.js[Bearbeiten | Quelltext bearbeiten]

Fügt im VisualEditor eine Autokorrektur-Funktion hinzu, hauptsächlich für Typografie. Mehr unter /veAutocorrect.

veCode.js[Bearbeiten | Quelltext bearbeiten]

Aktiviert den Quelltextmodus des VisualEditor auch für JavaScript und CSS. Mehr unter /veCode.

veCustomize.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht im VisualEditor die Konfiguration der Werkzeugleiste. Mehr unter /veCustomize.

veHint.js[Bearbeiten | Quelltext bearbeiten]

Findet und behebt häufige Probleme während des Bearbeitens. Mehr unter /veHint.

veSuggestions.js[Bearbeiten | Quelltext bearbeiten]

Stellt eine Autovervollständigung im VisualEditor bereit. Mehr unter /veSuggestions.

watchlist++.js[Bearbeiten | Quelltext bearbeiten]

Stellt eine alternative Form der Beobachtungsliste zur Verfügung, die wie ein Posteingang eines E-Mail-Kontos funktioniert. Mehr unter /watchlist++.

wikiblame.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht es ohne externe Tools herauszufinden, wann ein bestimmter Inhalt eingefügt wurde. Mehr /wikiblame.

wochentag.js[Bearbeiten | Quelltext bearbeiten]

Zeigt auf der Beobachtungsliste und auf weiteren Seiten den Wochentag zum Datum an. Mehr unter /wochentag.

Ungepflegte Skripte[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

Hilfsskript für screenshot.js, das aber inzwischen nicht mehr nötig sein sollte.

altehauptseite.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht ein (halb-) automatisches Bearbeiten von Seiten. Mehr unter /autoedit.

Hilfsmodul, das eigentlich nur von autoantraege.js verwendet wird.

bot.js[Bearbeiten | Quelltext bearbeiten]

In JavaScript geschriebenes Botframework. Mehr unter /bot.

Das Skript wurde durch bandersnatch.js und search++.js abgelöst.

botfrontend.js[Bearbeiten | Quelltext bearbeiten]

Frontend für meinen Bot. Mehr unter /botfrontend.

Das Skript wurde durch bandersnatch.js und search++.js abgelöst.

dialog.js[Bearbeiten | Quelltext bearbeiten]

Vereinfacht die Erstellung von Dialogfeldern. Mehr unter /dialog.

Hilfsmodul, das eigentlich nur von autoantraege.js verwendet wird.

edithelper.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

Hebt Wörter oder sonstiges im Text hervor. Mehr unter /highlight.

Hilfsmodul, das eigentlich nur von antispoof.js verwendet wird.

jsmodules.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

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.js[Bearbeiten | Quelltext bearbeiten]

Zeigt Einzelnachweise in der Vorschau an. Mehr unter /virtuelleEinzelnachweise.

Der VisualEditor ist wesentlich komfortabler.

vorleser.js[Bearbeiten | Quelltext bearbeiten]

Liest Seiten vor. Mehr unter /vorleser.

War ein sehr experimentelles Skript, das ich nicht weiterpflegen möchte.

watchlisttags.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht es, Seiten auf der Beobachtungsliste mit Stichwörtern zu kennzeichnen. Mehr unter /watchlisttags.

Das Skript watchlist++ leistet Ähnliches.

wikieditor.js[Bearbeiten | Quelltext bearbeiten]

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.

Hilfsmodule[Bearbeiten | Quelltext bearbeiten]

Folgende Skripte sind keine eigenständigen Programme, sondern können von anderen Skripten eingebunden werden, um bestimmte Aufgaben zu erledigen.

diff.js/core.js[Bearbeiten | Quelltext bearbeiten]

Stellt eine verbesserte Diff-Funktion zur Verfügung. Mehr unter /diff/core.

gestures.js/jquery.js[Bearbeiten | Quelltext bearbeiten]

Stellt ein jQuery-Plugin für Mausgesten zur Verfügung. Mehr unter /gestures/jquery.

rpc.js[Bearbeiten | Quelltext bearbeiten]

Hilfsskript für Aufruf noch nicht geladener Funktionen. Mehr unter /rpc.

Template.js[Bearbeiten | Quelltext bearbeiten]

Vorlagenparser für automatisierte Bearbeitungen. Mehr unter /Template.

templateEditor.js[Bearbeiten | Quelltext bearbeiten]

Ermöglicht ein Bearbeiten von Seiten (meist Vorlagen) über einfache Formulare. Mehr unter /templateEditor.

Weitere Skripte[Bearbeiten | Quelltext bearbeiten]

Folgende Skripte sind nicht für den normalen Gebrauch gedacht.

browserttest.js[Bearbeiten | Quelltext bearbeiten]

Regressionstest. Mehr unter /browsertest. Dazu gehören mehrere Unterseiten.

qunit.js[Bearbeiten | Quelltext bearbeiten]

Regressionstests mit QUnit. Mehr unter /qunit. Dazu gehören mehrere Unterseiten bei den getesteten Skripts.

Tabelle[Bearbeiten | Quelltext bearbeiten]

Skript Dokumentation Abhängigkeiten Test (ausführen)
artikel-statistik.js artikel-statistik diff.js/core.js B ([1])
bandersnatch.js bandersnatch diff.js/core.js
(search++.js)
Q ([2]), B ([3])
bkl-check.js bkl-check B ([4])
diff.js diff diff.js/core.js B ([5])
extratabs.js extratabs B ([6]), M
fliegelflagel.js/define.js
fliegelflagel.js/config.js
fliegelflagel.js/load.js
fliegelflagel.js/manage.js
fliegelflagel B ([7])
gestures.js gestures gestures.js/jquery.js B ([8])
imagepopups.js imagepopups B ([9])
journal.js journal B ([10])
letzteredit.js letzteredit B ([11])
linkUnlinked.js linkUnlinked B ([12]), Q ([13])
localFile.js localFile B ([14]), M
mostEdited.js mostEdited B ([15])
notizen.js notizen B ([16])
personendaten.js personendaten templateEditor.js B ([17]), Q/X ([18], [19])
personendaten.js/normdaten.js personendaten/normdaten templateEditor.js B ([20])
popuprefs.js popuprefs B ([21])
search++.js search++ Q ([22]), B ([23])
section-links.js section-links B ([24])
small-world.js small-world B ([25])
specialinterwiki.js specialinterwiki B ([26])
topcontrib.js topcontrib B ([27])
veAutocorrect.js veAutocorrect M
veCode.js veCode B ([28])
veCustomize.js veCustomize B ([29])
veHint.js veHint B ([30]), M
veSuggestions.js veSuggestions M
watchlist++.js watchlist++ B ([31]), M
wikiblame.js wikiblame B ([32])
wochentag.js wochentag B ([33])
Bibliotheken
diff.js/core.js diff/core Q ([34])
gestures.js/jquery.js gestures/jquery B ([35])
rpc.js rpc Q ([36])
templateEditor.js templateEditor Q ([37])
Template.js Template Q ([38])
Privat
browsertest.js browsertest B ([39])
dropdown.js dropdown B ([40])
qunit.js qunit B ([41])
vector.js B ([42])
global.js (Meta) B ([43])

Siehe auch[Bearbeiten | Quelltext bearbeiten]