Rozšíření:CSS

From mediawiki.org
This page is a translated version of the page Extension:CSS and the translation is 100% complete.
Základní informace k tomuto rozšíření MediaWiki
CSS
Stav rozšíření: stabilní
Zavádění 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ů
Napsal(i)
Nejnovější verze 3.5.0
MediaWiki >= 1.31.0
Licence GNU General Public License 2.0 nebo pozdější
Zdrojový kód
Příklad organicdesign.nz
  • $wgCSSPath
  • $wgCSSIdentifier
Čtvrtletní stahování 149 (Ranked 43rd)
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žce extensions/.
    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
  • Na konec vašeho souboru LocalSettings.php přidejte následující kód:
    wfLoadExtension( 'CSS' );
    
  • Vyžaduje nastavení v konfiguračním souboru.
  • Yes 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