Erweiterung:CSS

This page is a translated version of the page Extension:CSS and the translation is 35% 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
Freigabestatus: stabil
Einbindung Parser-Funktion
Beschreibung Parserfunktion für CSS-Dateien, Artikel- oder Inline-Regeln zu Artikeln
Autor(en)
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 organicdesign.nz
  • $wgCSSPath
  • $wgCSSIdentifier
Ü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

  • Folgenden Code am Ende der LocalSettings.php hinzufügen:
    wfLoadExtension( 'CSS' );
    
  • Configure as required.
  •   Erledigt – Zu Special:Version in dem Wiki (bei Einstellung auf deutsch nach Spezial:Version) navigieren, um die erfolgreiche Installierung der Erweiterung zu überprüfen.

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|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.

This extension can do most of what those extensions provide, but the syntax is incompatible. One way to avoid breaking existing pages which still use the old <css> tags is to use both this Extension:CSS and Extension:NewPageCSS on the same wiki.

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.

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