Erweiterung:CSS

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:CSS and the translation is 57% complete.
Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎español • ‎français • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki-Erweiterungen
OOjs UI icon advanced.svg
CSS
Erscheinungsstatus: stabil
Einbindung Parser function
Beschreibung Parserfunktion für CSS-Dateien, Artikel- oder Inline-Regeln zu Artikeln
Autor(en) Aran Dunkley, Rusty Burchfield
Letzte Version 3.5.0 (2017-06-06)
MediaWiki 1.25+
Datenbankänderungen Nein
Lizenz GNU General Public License 2.0 or later
Herunterladen
Beispiel Organised Design
Übersetze die CSS Erweiterung wenn sie auf translatewiki.net verfügbar ist
Prüfe die Benutzungs- und Versionsmatrix.
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

  • Füge folgenden Code am Ende deiner LocalSettings.php hinzu:
    wfLoadExtension( 'CSS' );
    
  • Yes Erledigt – Navigiere zu Special:Version in deinem Wiki (bei Einstellung auf deutsch nach Spezial:Version), um zu prüfen, dass die Erweiterung erfolgreich installiert ist.

An Nutzer, die MediaWiki 1.29 und früher betreiben:

Die oben stehenden Anweisungen beschreiben die neue Installationsanweisung für diese Erweiterung unter Verwendung von wfLoadExtension(). Falls du diese Erweiterung in einer dieser früheren Versionen (MediaWiki 1.29 und früher)  – an Stelle von wfLoadExtension( 'CSS' ); – installieren musst, benutze:

require_once "$IP/extensions/CSS/CSS.php";

Optional können Sie die Basis-URL für externe Dateien festlegen.

Optionally, you can set the base URL for external files.

$wgCSSPath = false;  # Default, relative to $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

Beim Verwenden 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 der Hintergrund verändert werden, indem die Parserfunktion selbst auf einer Seite verwendet wird. Um dieses Problem zu umgehen, kann das CSS mittels Transklusion geladen werden.

Fehler/Bugs

Siehe Diskussionsseite.

Siehe auch