Erweiterung:CSS
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.31.0 |
Lizenz | GNU General Public License 2.0 oder neuer |
Herunterladen | |
Beispiel | organicdesign.nz |
|
|
Quarterly downloads | 124 (Ranked 43rd) |
Ü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 Ordnerextensions/
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.
- 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
- Extension:NewPageCSS
- Erweiterung:TemplateStyles - a similar extension which sanitized the CSS and stores it on separate pages.
Diese Erweiterung ist in den folgenden Softwarepaketen enthalten und/oder wird von den folgenden Wiki-Farmen, bzw. Wiki-Hostern verwendet: Dies ist keine maßgebliche Liste. Softwarepakete und/oder Wiki-Farmen, bzw. Wiki-Hoster nutzen diese Erweiterung ggf., obwohl sie nicht in dieser Liste enthalten sind. Prüfe daher stets die Nutzung im verwendeten Softwarepaket und/oder bei der Wiki-Farm, bzw. dem Wiki-Hoster. |