Wikipedia:Technik/Baustellen/Shortcut-Tooltip
Idee für ein neues Gadget.
Wenn auf Seite ein registrierter Shortcut dargestellt wird, soll per Tooltip die Weiterleitungsauflösung angezeigt werden können.
Lösungsansatz
[Quelltext bearbeiten]- Auf Modul:Shortcuts/4 usw. stehen Zuordnungen von Shortcuts und Zielseiten.
Wenn auf einer Seite
- Spezialseite:
Contributions
oderDiff
oderWatchlist
(wegen BK) - Namensraum > 0 und
action
ausview|history|submit
- benutzerdefiniert zusätzlich auch für ANR (gelegentlich QS-Boxen; lohnt aber weniger)
Links vorkommen mit der class="mw-redirect"
, dann soll für jede der URL geprüft werden:
- Kommt ein Doppelpunkt nach
/wiki/
vor? - Wenn ja, würde zwischen
/wiki/
und Doppelpunkt eine Namensraum-Nummer interpretiert werden können? - Stünde die gerundet kleinere gerade Nummer des Namensraums auf der Liste der Namensräume, die als Shortcut verwendet werden, also
[4, 12, 100]
bei uns? - Wenn also ein typischer Namensraum und eine Weiterleitung, dann durchsuche Liste aller Shortcut-Zuordnungen.
- Wenn gefunden, dann ändere den
title
der Verlinkung in den Seitennamen der zugeordneten Seite.
Die Liste der Zuordnungen sollte im localStorage
als JSON abgelegt werden, mit den Elementen
expire:
ISO-Datum,
4: {
map},
12: {
map},
100: {
map}
Dabei wäre {
map }
etwa für 4:
{ "A": [4, "Administratoren"], "AA": [4, "Administratoren/Anfragen"], ... "MOVE": [12, "Seite verschieben"], ... }
War die ursprünglich ermittelte Namensraum-Nummer ungerade, so ist jetzt wieder 1 zur Namensraum-Nummer der Zielseite zu addieren; mit Nummer und Seitentitel kann der title
gebildet werden.
Die Bildung der Zuordnung ist zwar nicht schwierig, weil das Quelltext-Format der Lua-Untermodule sich recht einfach splitten oder mit regulären Ausdrücken durchsuchen lässt, aber allein der content
-Abruf kostet Zeit und Netzwerkkapazität beim Darstellen jeder Seite. Es müssen auch alle Lua-Untermodule analysiert werden, weil der Namensraum des Shortcuts nicht identisch sein muss mit dem der Zielseite; nach letzteren sind aber die Untermodule organisiert. Deshalb sollte das JSON-Objekt auf Vorrat gebildet werden, wenn das Verfallsdatum erreicht wurde oder noch nicht vorhanden ist, ggf. aufgeräumt worden war. Haltbarkeit könnte standardmäßig eine Woche, benutzerkonfiguriert eine abweichende Zahl von Tagen sein.