Jump to content

Erweiterung:CSS

From mediawiki.org
This page is a translated version of the page Extension:CSS and the translation is 58% complete.
Outdated translations are marked like this.
MediaWiki-Erweiterungen
CSS
Freigabestatus: stabil
Einbindung Parser-Funktion
Beschreibung Stellte eine Parserfunktion zum Hinzufügen von CSS-Dateien, Artikel- oder Inline-Regeln zu Artikeln zur Verfügung.
Autor(en)
Letzte Version 3.5.0
MediaWiki >= 1.40.0
Lizenz GNU General Public License 2.0 oder neuer
Herunterladen
Beispiel organicdesign.nz
  • $wgCSSPath
  • $wgCSSIdentifier
Quarterly downloads 121 (Ranked 48th)
Übersetze die CSS-Erweiterung, wenn sie auf translatewiki.net verfügbar ist
Probleme Offene Aufgaben · Einen Fehler melden

Die CSS Extension ermöglicht das Hinzufügen von CSS-Stylesheets in einzelne Artikel. Das CSS kann ein Artikel sein, eine Datei oder Regeln, die innerhalb der Parserfunktion definiert werden.

Verwendung

Zum Beispiel: Es wird ein Artikel mit dem Titel "MyStyles.css" erstellt, der die Styles für den Artikel "MyFancyUserPage" enthält. Dazu wird im letztgenannten folgende Parserfunktionssyntax hinzugefügt:

{{#css:MyStyles.css}}

Wenn allerdings "MyStyles.css" eine Datei innerhalb des Verzeichnises /wiki/skins ist, wird sie wie unten eingebunden. Zu beachten ist, dass die Datei ein absoluter Pfad mit führendem Schrägstrich sein muss, um sie vom Artikeltitel zu unterscheiden.

{{#css:/skins/MyStyles.css}}

Alternativ können CSS-Regeln direkt mit der Parserfunktion (inline) wie im folgenden Beispiel eingebunden werden:

{{#css:
  body {
    background: yellow;
    font-size: 20pt;
    color: red;
  }
}}

Installation

  • Die Erweiterung herunterladen und die Datei(en) in ein Verzeichnis namens CSS im Ordner extensions/ ablegen.
    Entwickler und Code-Beitragende sollten stattdessen die Erweiterung von Git installieren, mit:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CSS
  • Folgenden Code am Ende deiner LocalSettings.php -Datei einfügen:
    wfLoadExtension( 'CSS' );
    
  • Konfiguriere nach Bedarf.
  • Yes Erledigt – Navigiere zu Special:Version in deinem Wiki, um zu überprüfen, ob die Erweiterung erfolgreich installiert wurde.

Konfiguration

Optional kannst du die Basis-URL für externe Dateien festlegen.

$wgCSSPath = false;  # Standard, relativ zu $wgScriptPath
$wgCSSPath = '';  # Relative to the root of your server
$wgCSSPath = 'https://example.org/stylesheets';  # Relative to a different site

Verwendung als Ersatz von PageCSS

Es gibt eine ältere Extension:PageCSS , die ‎<css> und ‎</css> Tags statt der #css: Parserfunktion verwendete. Diese Extension kann fast alles, was diese Extensions bieten, aber die Syntax ist inkompatibel. Ein Weg, um das Beschädigen bestehender Seiten zu vermeiden, die noch den alten ‎<css> Tag verwenden, ist, sowohl diese Extension:CSS als auch die Extension:NewPageCSS im selben Wiki zu verwenden.

Eine alternative Lösung (wenn sie nur diese Extension verwenden wollen, aber bestehenden Inhalt haben, der die Extension:PageCSS erfordert) ist, diese Funktion als PHP-Datei zu speichern und sie in LocalSettings.php einzubinden, um <css> zu #css zu ändern:

<?php

// Stub to remap <css></css> tags to {{#css:}} parser function extension

// For use when installing https://www.mediawiki.org/wiki/Extension:CSS to replace Extension:NewPageCSS on existing wikis

$wgHooks['ParserFirstCallInit'][] = 'wfCSSParserStubInit';
 
// Hook our callback function into the parser
function wfCSSParserStubInit( Parser $parser ) {

        // When the parser sees the <css> tag, it executes the stub wfCSSTagRender function (below) to invoke the {{#css:}} parser
        $parser->setHook( 'css', 'wfCSSTagRender' );
        return true;
}
// Execute <css> tag
function wfCSSTagRender( $input, array $args, Parser $parser, PPFrame $frame ) {

        // Stub function, just redirect the user-provided input text blindly to the {{#css:}} parser function to re-parse it as wikitext
        $output = $parser->recursiveTagParse('{{#css:' . $input . '}}', $frame);
        return $output;
}

Danach kann die ältere PageCSS (oder NewPageCSS) Extension von der Konfiguration entfernt werden; <css> wird jetzt zu #css: und (wenn Sie die CSS-Extension schon installiert haben) wird sich genauso verhalten, wie alle anderen CSS-Extensions zuvor.

Probleme beim Ändern der Farbe oder des Hintergrunds einer bestimmten Seite

Bei der Verwendung der Parserfunktion für das Verwenden eines CSS von einer anderen Seite kann die Farbe oder der Hintergrund für die Seite nicht verändert werden, jedoch kann die Parserfunktion selbst auf eine einzelne Seite angewendet werden um den Hintergrund zu verändern. To overcome this problem, it is possible to load the CSS through transclusion, which does not cause the problem of failing to load the change to the page background.

Fehler/Bugs

Siehe Diskussionsseite.

Siehe auch