Extension:CSS
CSS Stav rozšíření: stabilní |
|
---|---|
Implementace | Funkce analyzátoru |
Popis | Poskytuje funkci analyzátoru pro přidávání souborů CSS, článků nebo vložených pravidel do článků |
Autoři | |
Nejnovější verze | 3.5.0 |
MediaWiki | >= 1.40.0 |
Licence | GNU General Public License 2.0 nebo novější |
Stáhnout | |
Příklad | organicdesign.nz |
|
|
Čtvrtletní stahování | 124 (Ranked 48th) |
Přeložte rozšíření CSS, používá-li lokalizaci z translatewiki.net | |
Problémy | Otevřené úkoly · Nahlásit chybu |
Rozšíření CSS umožňuje zahrnout šablony stylů CSS do konkrétních článků. CSS může být jiný článek, soubor nebo to mohou být pravidla definovaná přímo ve funkci parseru.
Použití
Pokud máte například článek CSS s názvem "MyStyles.css", což jsou styly určené pro použití s článkem "MyFancyUserPage", přidali byste do článku následující syntaxi funkce analyzátoru,
{{#css:MyStyles.css}}
Pokud by na druhou stranu "MyStyles.css" byl soubor v adresáři /wiki/skins, pak by byl zahrnut, jak je uvedeno níže. Všimněte si, že soubor musí být absolutní cesta s úvodním lomítkem, aby se odlišil od názvu článku.
{{#css:/skins/MyStyles.css}}
Alternativně mohou být pravidla CSS zahrnuta přímo do funkce parser (inline), jako v následujícím příkladu,
{{#css:
body {
background: yellow;
font-size: 20pt;
color: red;
}
}}
Instalace
- Stáhněte soubor/y a vložte je do adresáře pojmenovaného
CSS
ve vaší složceextensions/
.
Vývojáři a přispěvatelé kódu by si místo toho měli nainstalovat rozšíření from Git pomocí:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CSS - Při instalaci z Gitu spusťte Composer pro instalaci závislostí PHP zadáním
composer install --no-dev
v adresáři rozšíření. (Vyskytnou-li se nějaké komplikace, podívejte se na úkol T173141.) - Na konec vašeho souboru LocalSettings.php přidejte následující kód:
wfLoadExtension( 'CSS' );
- Vyžaduje nastavení v konfiguračním souboru.
- Dokončeno – Přejděte na stránku Special:Version vaší wiki a zkontrolujte, zda bylo rozšíření úspěšně nainstalováno.
Konfigurace
Volitelně můžete nastavit základní URL pro externí soubory.
$wgCSSPath = false; # Výchozí, vzhledem k $wgScriptPath
$wgCSSPath = ''; # Relativně ke kořenovému adresáři vašeho serveru
$wgCSSPath = 'https://example.org/stylesheets'; # Relativní k jinému webu
Použít jako náhradu za PageCSS
Existuje předchozí Extension:PageCSS (nyní archivovaný), který používal značky <css>
a </css>
namísto funkce #css: parser.
Toto rozšíření umí většinu toho, co tato rozšíření poskytují, ale syntaxe je nekompatibilní.
Jedním ze způsobů, jak se vyhnout rozbití stávajících stránek, které stále používají staré tagy <css>
, je použít tyto Extension:CSS a Extension:NewPageCSS na stejné wiki.
Alternativním řešením (pokud chcete používat pouze toto rozšíření, ale máte existující obsah, který očekává Extension:PageCSS) je uložit tuto funkci útržku jako soubor PHP a zahrnout jej z LocalSettings.php pro přemapování <css> na #css:
<?php
// Stub pro přemapování značek <css></css> na rozšíření funkce analyzátoru {{#css:}}
// Pro použití při instalaci https://www.mediawiki.org/wiki/Extension:CSS k nahrazení Extension:NewPageCSS na existujících wiki
$wgHooks['ParserFirstCallInit'][] = 'wfCSSParserStubInit';
// Připojte naši funkci zpětného volání do analyzátoru
function wfCSSParserStubInit( Parser $parser ) {
// Když analyzátor uvidí značku <css>, provede funkci stub wfCSSTagRender (níže), aby vyvolal analyzátor {{#css:}}
$parser->setHook( 'css', 'wfCSSTagRender' );
return true;
}
// Spusťte značku <css>
function wfCSSTagRender( $input, array $args, Parser $parser, PPFrame $frame ) {
// Funkce stub, pouze přesměrujte vstupní text poskytnutý uživatelem naslepo na funkci analyzátoru {{#css:}}, abyste jej znovu analyzovali jako wikitext
$output = $parser->recursiveTagParse('{{#css:' . $input . '}}', $frame);
return $output;
}
V tomto okamžiku mohou být předchozí rozšíření PageCSS (nebo NewPageCSS) odstraněna z vaší konfigurace. <css> nyní přejde na #css: A (pokud máte toto rozšíření CSS již spuštěno a spuštěno) bude se chovat stejně jako ostatní rozšíření CSS vždy.
Problémy se změnou barvy nebo pozadí konkrétní stránky
Použití funkce analyzátoru k použití CSS z jiné stránky nefunguje ke změně barvy nebo pozadí stránky, ale použití funkce analyzátoru na jedné stránce samotné umožňuje změnu pozadí. K překonání tohoto problému je možné načíst CSS pomocí transkluze, což nezpůsobuje problém s nenačtením změny na pozadí stránky.
Chyby
Viz stránka diskuse.
Související odkazy
- Extension:NewPageCSS
- Extension:TemplateStyles - podobné rozšíření, které vyčistilo CSS a uložilo je na samostatné stránky.
Toto rozšíření je zahrnuto v následujících wiki farmách/hostitelích a/nebo balíčcích: Toto není autoritativní seznam. Některé wiki farmy/hostitelé a/nebo balíčky mohou toto rozšíření obsahovat, i když zde nejsou uvedeny. Pro potvrzení se vždy obraťte na své wiki farmy/hostitele nebo balíček. |