Wikiup:Technik/Skin/Gadgets/navigation-popups

aus Wikipedia, der freien Enzyklopädie

Navigation-Popups bietet einfachen Zugriff auf verschiedene Wikipedia-Funktionen in Pop-ups, die erscheinen, wenn man die Maus über Wiki-Links bewegt. Voraussetzung ist im Browser aktiviertes JavaScript.

Aktivierung

Der leichteste Weg wäre als angemeldeter Benutzer durch einfaches Ankreuzen. {{Wikipedia:Technik/Skin/Gadgets/!Einstellung |Gruppe=N}} Es kann sein, dass man das anders handhaben möchte:

  • Als nicht angemeldeter Benutzer über Greasemonkey.
  • In einem anderen Wiki oder global.
  • Nur unter bestimmten, programmatisch formulierten Bedingungen.
  • Auf Mobilgeräten; die Standard-Aktivierung des Projekts wirkt nur bei Desktop.

Aus jeder Seite der deutschsprachigen Wikipedia heraus funktioniert dann mittels JavaScript:

mw.loader.load( "ext.gadget.navigation-popups" );

Aus anderen Wikis – insbesondere global – (und auch außerhalb der WMF) ist möglich:

mw.loader.load( "https://de.wikipedia.org/w/load.php?modules=ext.gadget.navigation-popups" );

Funktionen

[[Hilfe:Cache|Fehler beim Thumbnail-Erstellen]]:
Artikelvorschau, wenn Mauszeiger über Link
Ein-Klick-Zugriff auf vorangesehenen Artikel
  • Liefert eine Voransicht (Preview) des Artikeltextes (Dank an Pilaf für sein Live-Preview-Skript, das dies ermöglicht)
  • Zeigt eine Voransicht von Bild-Links
  • Zeigt eine Voransicht des ersten Bildes im Artikel – ein Riesenspaß bei Benutzerseiten
  • Gibt Hinweise auf Weiterleitungen, Stubs (kurze Artikel) oder Begriffsklärungen
  • Zeigt Informationen wie Größe, Anzahl der Links, Anzahl der Bilder, Anzahl der Kategorien und Alter einer Seite an
  • Sollte mit allen Wikimedia-Wikis funktionieren
  • Modifiziert optional Links, um Weiterleitungen oder Begriffsklärungen zu umgehen
  • Unterstützt optional Shortcut-Tastenkombinationen
  • Ein-Klick-Zugriff auf
    • Bearbeiten
    • Benutzerbeiträge
    • Kate’s tool (Änderungszähler)
    • E-Mail an den Benutzer
    • Versionen
    • Eintragen und Austragen aus der Beobachtungsliste
    • die entsprechende Diskussionsseite (Ansicht, Bearbeiten)
    • Links auf diese Seite
    • Änderungen an verlinkten Seiten
    • Für Administratoren: Schützen, freigeben, löschen und Benutzersperre
    • Benutzer-Log und Blockierungs-Log
    • Zeigt Unterseiten von Benutzerseiten
    • Wikipedia-Suche und globale Wikipedia-Suche

Konfiguration (optional)

Ändern der Pop-up-Darstellung

Man kann das Aussehen des Pop-ups grundlegend ändern, indem man die Benutzer-CSS-Datei anpasst. Die Benutzer-Seite-Datei findet man in Wikipedia auf dem gleichen Weg wie die oben beschriebene .js-Seite für die anderen Wikis, nur dass man die Endung .js durch .css ersetzt. Für den allgemeinen Fall ergibt sich also diese Seite hier.

Das folgende Beispiel gibt ein Orange-gefärbtes Pop-up mit einem Rahmen und abgeänderter Schriftart. Alle Zeilen des Beispiels sind optional (Konkret schauen Pop-ups bei Verwendung der letzten Zeile etwas komisch aus, aber sie zeigt die Möglichkeiten der Stylesheet-Anpassung).

table.popupBorderTable { background: #FFBE20 /* orange */ !important }
table.popupTable { background: #FFFAEF /* pastel orange */ !important }
font.popupFont { font-family: serif !important; color: #440044 !important; font-size: medium !important }

Optionen

Es gibt verschiedene Optionen, die gesetzt werden können. Um eine Option zu verändern, editiert man in Wikipedia die oben schon für andere Wikis genannte .js-Seite (etwa common.js) und fügt eine Zeile in der Form

Option = Wert;

hinzu, wobei Option und Wert aus unten stehender Tabelle gewählt werden. Um beispielsweise das Herunterladen zu verhindern und Administrator-Links zu aktivieren, benötigt man in etwa folgenden Code in der JavaScript-Datei:

// Konfigurationsvariablen für w:de:Technik/Skin/Gadgets/navigation-popups
simplePopups=true;
popupAdminLinks=true;
Konfigurationsoptionen (englisch)
Option Werte[* 1] Beschreibung
popupTocLinks true, false Pop-ups für Links in Inhaltsverzeichnissen.
popupDelay Dezimalzahl, 0.5 Zeit in Sekunden, bevor ein Pop-up erscheint.
popupHideDelay Dezimalzahl, 0.5 Annähernde Zeit in Sekunden, bis ein Pop-up wieder verschwindet, nachdem die Maus nicht mehr darüber ist.
popupModifier '' (Standard), 'ctrl', 'shift', 'alt', 'meta' Pop-ups erscheinen nur, wenn beim Überfahren eines Links mit der Maus auch die hier ausgewählte Sondertaste gedrückt wird. Verhindert, dass Pop-ups unabsichtlich Seiteninhalt verdecken.
simplePopups true, false Wenn man nur die schnellen Links im Pop-up benötigt oder einen die großen Datenmengen stören, die mit dem Pop-up automatisch heruntergeladen werden, setzt man diesen Wert auf true. Damit wird nichts heruntergeladen, und die Pop-ups enthalten nur die benötigten Links.
popupStructure 'original', 'nostalgia', 'fancy', 'fancy2', 'menus', 'shortmenus', 'lite' Wählt die Struktur der Pop-ups aus. Mit dem Wert 'original', der automatisch bei Verwendung von simplePopups=true ausgewählt ist, stehen alle Navigations-Links direkt im Pop-up; 'nostalgia', 'fancy' und 'fancy2' sind Variationen dieses Stils. Die 'shortmenus'-Einstellung, die auch verwendet wird, solange simplePopups nicht true ist, stellt die Links in Menüs innerhalb des Pop-ups dar. 'menus' ist eine Variante davon mit noch mehr Links. 'lite' bietet nur die Vorschau ohne Links.
Um diese Option richtig zu verwenden, muss der Wert mit einfachen Hochkommata eingeschlossen werden, d. h. popupStructure='fancy';. Bei Verwendung von Opera als Browser ist der Standardwert 'original', da die Menüs mit diesem Browser derzeit nicht funktionieren.
popupActionsMenu true, false Wenn man Menüs verwendet, dieser Wert auf false gesetzt ist und der Mauszeiger auf dem Titel-Link im Pop-up steht, klappt das Menü unter diesem Titel-Link auf. Wenn man Menüs verwendet und dieser Wert auf true gesetzt ist (entspricht dem Standardwert), lässt sich neben dem Titel-Link ein separates „Aktionen“-Menü aufklappen.
popupImages true, false Wenn diese Option auf false gesetzt ist, werden Bilder nicht angezeigt.
popupAdminLinks true, false Wenn diese Option auf true gesetzt ist, erscheinen zusätzliche Links im Pop-up, die Administratoren dabei helfen, Benutzer zu blockieren, Seiten zu löschen oder den Seitenschutz zu verändern.
popupShortcutKeys true, false Durch Setzen dieser Option auf true kann man die Links im Pop-up schnell durch Drücken von Tasten erreichen. Wenn die Maus über einen Artikel-Link mittels Tastenkürzel bewegt wird, erscheint das Tastenkürzel am Ende des Pop-ups. Beispielsweise kann man in Firefox und Opera einen Artikel in einem neuen Tab editieren, indem man 'e Control-Enter' drückt. Internet-Explorer-Benutzer sollten von der Aktivierung dieser Option Abstand nehmen, da Tastenkürzel mit diesem Browser nicht funktionieren und das Aktivieren verschiedene Bugs mit sich bringt.
popupDraggable true, false Wenn diese Option auf true gesetzt ist, kann man das Pop-up bei gehaltener Shift-Taste im Browserfenster bewegen.
popupFixRedirs true, false Wenn diese Option auf true gesetzt ist, kann man automatisch Links auf Weiterleitungs-Seiten korrigieren, indem man auf den „Weiterleitung“-Link im Pop-up drückt. Hinweis: Üblicherweise korrigiert man nicht jeden derartigen Link, wenn man über ihn stolpert, schon gar nicht macht man sich auf die Jagd nach ihnen.
popupRedirAutoClick 'wpSave', 'wpPreview', 'wpDiff' Was passieren soll, wenn Weiterleitungen korrigiert werden (Speichern, Vorschau, Änderungen).
popupFixDabs true, false Ähnlich der popupFixRedirs-Option kann man Links auf Begriffsklärungsseiten einfach korrigieren, indem man einen der Links im unteren Pop-up-Bereich öffnet.
popupNavLinks true, false Wenn diese Option auf true gesetzt ist, werden Navigations-Links dargestellt, bei false fehlen diese.
popupLastEditLink true, false Gibt an, ob das Pop-up einen „letzte Änderung“-Link enthalten soll.
popupHistoricalLinks true, false Fährt man mit der Maus über einen Link auf eine alte Version oder einen Versionsunterschied, werden bei Angabe von true weitere Links wie „Bearbeite alte Version“ angezeigt. Ohne diese Option schauen diese Pop-ups wie normale Pop-ups aus.
popupPreviews true, false Wenn diese Option auf true gesetzt und simplePopups nicht aktiviert ist, wird eine Vorschau des ersten Artikelabschnitts im Pop-up gezeigt. Die Vorschau fehlt, wenn diese Option auf false gesetzt ist. Berichte von Seiten, wo diese Option schlecht funktioniert, sind von Lupin, dem Hauptentwickler dieses Helferleins, gerne gesehen (bitte auf Englisch).
popupSummaryData true, false Ist diese Option auf true gesetzt, werden Übersichtsdaten der Zielseite im Pop-up angezeigt.
popupLastModified true, false Wenn diese Option auf true gesetzt ist, wird das Seitenalter als Teil der Übersichtsdaten angezeigt. Das Seitenalter ist die Zeit, die seit der letzten Bearbeitung des Artikels vergangen ist.
popupOnlyArticleLinks true, false Ist diese Option auf true gesetzt, werden Pop-ups nur für Artikel-Links erzeugt, andernfalls bekommen Hilfe- und Bearbeitungs-Links auch solche Pop-ups.
imagePopupsForImages true, false Standardmäßig werden Bildervorschauen auch dann in das Pop-up geladen, wenn die Maus über einem bereits sichtbaren Bild steht. Wird diese Option auf false gesetzt, wird diese Bildervorschau unterdrückt.
popupMaxWidth 300, eine Ganzzahl oder false Die Maximalbreite des Pop-up-Fensters in Bildschirmpixeln. Wird diese Option auf false gesetzt, passt sich die Pop-up-Fensterbreite an den Inhalt an.
popupInitialWidth eine Ganzzahl oder false Gibt die Pop-up-Fensterbreite zum Zeitpunkt des Öffnens an. Setzt man den Wert auf false, verwendet das Pop-up anfänglich nur die minimal von seinem Inhalt benötigte Breite.
popupEditCounterTool „kate“, „interiot“ Wählt den verwendeten Bearbeitungszähler. Man kann zwischen Kate’s tool und Interiot’s tool wählen.
Bearbeitungskommentare
popupRevertSummary Zeichenkette Gibt den Bearbeitungskommentar beim Zurücksetzen eines Artikels an. Das erste '%s' der angegebenen Zeichenkette wird mit der Revision-ID der zurückgesetzten Seite ersetzt.
popupFixRedirsSummary Zeichenkette Gibt den Bearbeitungskommentar bei der Weiterleitungskorrektur eines Artikels an. Das erste '%s' der angegebenen Zeichenkette wird mit der Weiterleitungsseite ersetzt, das zweite '%s' wird mit der Zielseite ersetzt.
popupFixDabsSummary Zeichenkette Gibt den Bearbeitungskommentar bei der Begriffsklärungskorrektur eines Artikels an. Das erste '%s' der angegebenen Zeichenkette wird mit der Begriffsklärungsseite ersetzt, das zweite '%s' wird mit der Zielseite ersetzt.
Vorschau-Optionen
popupHistoryPreviewLimit eine Ganzzahl, 25 Höchstens so viele Einträge in der Vorschau der Versionsgeschichte anzeigen.
popupCategoryMembers true, false Bei Kategorie-Links Vorschau der Kategorieeinträge anzeigen.
popupPreviewHistory true, false Vorschau bei Links auf Versionsgeschichten anzeigen.
popupContribsPreviewLimit eine Ganzzahl, 25 Höchstens so viele Einträge in der Vorschau der Benutzerbeiträge anzeigen.
popupPreviewKillTemplates true, false Ist es true, werden Vorlagen aus dem Vorschautext gelöscht, andernfalls erscheinen sie als Wikitext.
popupPreviewRawTemplates true, false Ist es true, werden Vorlagenseiten (also Seiten im Vorlagen:-Namensraum) komplett als Wikitext dargestellt, andernfalls werden sie im Preview dargestellt.
popupPreviewFirstParOnly true, false Ist diese Option true, wird nur der erste Absatz eines Artikels in der Vorschau dargestellt.
popupMaxPreviewSentences eine Ganzzahl, 5 Die Artikelgröße in der Vorschau kann auch auf die wiedergegebene Satzanzahl begrenzt werden.
popupMaxPreviewCharacters eine Ganzzahl, 600 Die Artikelgröße in der Vorschau kann auch auf die dargestellte Zeichenzahl begrenzt werden.
Technische Optionen
popupNavLinkSeparator Zeichenkette,
' ⋅ '
Gibt HTML-Code an, der zwischen den Navigations-Links eingefügt wird. Diese Option ist für Konqueror standardmäßig auf ' • ' und in Microsoft-Browsern auf ' · ' gesetzt, da diese das ⋅-Zeichen nicht unterstützen.
popupAppendRedirNavLinks true, false Ist diese Option auf true gesetzt, werden separate Links für das Ziel einer Weiterleitung im Pop-up dargestellt. Ist die Option false, erscheint eine Warnung, um auf die Weiterleitung hinzuweisen, aber es erscheinen dafür keine Links. Die Option ist funktionslos, wenn popupNavLinks auf false gesetzt ist.
removeTitles true, false Mit dieser Option wird der Artikel-Titel als Haupt-Link des Pop-up-Fensters verwendet. Dies unterbleibt, wenn die Option auf false gesetzt ist.
popupLazyDownloads true, false Bei true startet der Download nicht, bevor das Pop-up sichtbar wird, bei false wird er gestartet, sobald die Maus auf einen Link zeigt.
popupLazyPreviews true, false Bei true werden die Voransichten nicht erzeugt, bevor das Pop-up sichtbar wird. Bei false werden sie erzeugt, sobald die notwendigen Daten verfügbar sind.
Experimentelle Optionen
Die folgenden Optionen sind noch nicht gründlich getestet und dokumentiert: popupCookies, popupExtraUserMenu, popupLinksNewWindow, popupHistoryLimit, popupDiffDatePrinter, popupExtendedRevertSummary, popupTimeOffset, popupPreviewCutHeadings.
  1. *Die voreingestellten Standardwerte werden in dieser Tabelle in fetter Schrift angegeben

In Zukunft können weitere Optionen hinzukommen, Vorschläge für solche Optionen werden gerne angenommen.

Erweiterte Anpassungen

Man kann für Artikel eigene Filter definieren. Diese JavaScript-Funktionen laufen nach Erstellen der Seitenstatistik ab, ihre Ausgabe wird als HTML-Code an diesen Teil des Pop-ups angehängt. (Für simplePopups=true oder popupSummaryData=false unterbleibt diese Darstellung).

Um diese Funktion zu aktivieren, schreibt man eine oder mehrere Filter-Funktionen, die einen String (den Wikitext des Artikels) als Eingabe akzeptieren und den einzufügenden HTML-Code zurückliefern. Sämtliche derartige Funktionen werden in die gewünschte Aufruf-Reihenfolge gebracht und in einem Array mit dem Namen extraPopupFilters aufgelistet.

Will man beispielsweise mitbekommen, wenn der Wikitext eines Artikels Tabellen enthält, die mit HTML-Tags statt mit Wiki-Markup geschrieben ist, kann man beispielsweise den folgenden Code in die eigene. js-Datei hinzufügen:

// initialize the array – only do this once
extraPopupFilters=new Array();

// define the function
function popupFilterHtmlTable (wikiText) {
 if (/<table/i.test(wikiText)) return '&amp;lt;table&amp;gt;';
 else return '';
};

// add the function to the array (you can repeat this for lots of functions)
extraPopupFilters.push(popupFilterHtmlTable);

Wird solcherart ein Pop-up für eine Seite erzeugt, die eine HTML-Tabelle enthält, sollte man <table> an dieser Stelle im Pop-up-Fenster sehen. (Das kann allerdings auch auf anderen Seiten wie der gerade dargestellten passieren. Der geneigte Leser betrachte die dafür notwendige Korrektur als Übungsaufgabe.)

Browser-Probleme

Wenn jemand diesen Problemen auf den Grund geht, möchte Lupin gerne mehr darüber wissen (englisch).

  • Angeblich stürzt Safari häufig bei Verwendung dieses Scripts ab.
  • Das Verschieben des Pop-ups funktioniert nicht mit dem Internet Explorer.

Feedback

Code

Der ausgeführte Code ist verteilt auf die folgenden Ressourcen:

Autoren

Siehe auch