Benutzer:PerfektesChaos/js/prettyPageHeading

JavaScript Gadget – stellt bei Unterseiten und außerhalb des ANR den Seitentitel hübscher dar, und verlinkt Oberseiten in allen Lebenslagen.

  • Optische Lücken werden zwischen den Schrägstrichen / und nach dem : der Namensraumbezeichnung eingefügt.

Kopieren und Einfügen wird nicht beeinflusst; der Seitenname kann wie immer übernommen werden.

  • Im ANR (bei den Lemmata enzyklopädischer Artikel) bleibt der Seitentitel unverändert.
  • Auf Seiten mit komplexem SEITENTITEL wird das angegebene Format beibehalten.
  • Auch im Bearbeitungsmodus, Versionsgeschichte und bei Seiteninformationen können Verlinkungen auf Oberseiten generiert werden.

Einbindung Bearbeiten

  • Wenn das Projekt dieses Gadget bereits registriert haben sollte, genügt ein Häkchen auf der Seite Einstellungen („Helferlein“).
  • Sonst wären die folgenden Zeilen in die persönliche common.js, global.js etc. einzufügen:
mw.loader.load( "https://en.wikipedia.org/w/index.php?title=User:PerfektesChaos/js/prettyPageHeading/r.js&action=raw&bcache=1&maxage=604800&ctype=text/javascript",
                "text/javascript" );

Pfadkomponenten verlinken Bearbeiten

In der Seitenansicht einer Seite mit Oberseiten werden die existierenden Oberseiten verlinkt, indem links oben von der MediaWiki-Software in kleiner Schrift die einzelnen Komponenten angezeigt werden.

In allen anderen Darstellungen (Bearbeitungsmodus, Versionsgeschichte, Seiteninformationen) werden von der MediaWiki-Software keine derartigen Links dargestellt.

Mit der Option .link = true; in JavaScript werden die mutmaßlichen Oberseiten verlinkt, wenn nicht im ANR, und die kleine Navigationsanzeige verschwindet im Gegenzug.

Benutzeroptionen Bearbeiten

.link = true; muss mittels JavaScript definiert werden.

Standardmäßig beträgt der eingefügte Abstand jeweils 0.25em (25 % Breite eines M oder Zeilenhöhe) und kann auf zwei Arten konfiguriert werden.

CSS Bearbeiten

Die folgenden Zeilen können in dein common.css, global.css oder Skin-abhängiges CSS eingefügt werden. Jeder Attributwert kann angegeben werden.

.prettyPageHeading {
   margin-left: 0.2em ! important;
}

JavaScript Bearbeiten

Ein anderer Weg ist die direkte Beeinflussung der Code-Generierung wie folgt:

if ( typeof mw.libs.prettyPageHeading !== "object" ) {
   mw.libs.prettyPageHeading = { };
}
mw.libs.prettyPageHeading.key1  =  value1;   // example
mw.libs.prettyPageHeading.link  =  true;
mw.libs.prettyPageHeading.shift =  "0.2em";

Dies sollte auf der common.js, global.js oder Skin-abhängigem JS stehen, und zwar möglichst vor dem Aufruf mw.loader.load() wie im Abschnitt „Einbindung“ beschrieben.

Key Value Bedeutung
link true Oberseiten verlinken.
Default: false – Komponenten werden nicht verlinkt.
shift "0em" Breite des Abstands als CSS-Längenangabe.
Default: 0.25em

Code und Stammseite Bearbeiten

Die Stammseite ist en:User:PerfektesChaos/js/prettyPageHeading mit:

Quellcode
ResourceLoader
Namensraum
  • Jeder Namensraum oberhalb des ANR (NR>0).
mw.libs prettyPageHeading

Testprozedur zur Prüfung auf Erfüllung der Grundfunktionalität; auch als Tutorial für Menschen, die mit den Fingern lernen.