Příručka:$wgResourceModuleSkinStyles

This page is a translated version of the page Manual:$wgResourceModuleSkinStyles and the translation is 100% complete.
Zavaděč zdrojů: $wgResourceModuleSkinStyles
Pole dalších šablon stylů poskytovaných vzhledem ke stávajícím modulům ResourceLoader.
Zavedeno od verze:1.24.0 (Gerrit change 141259; git #3971d064)
Odstraněno od verze:stále se používá
Povolené hodnoty:(vícerozměrné pole)
Výchozí hodnota:[]
Tuto možnost konfigurace nesmí používat rozšíření. Měli by používat vlastnost skinStyles svých vlastních modulů ResourceLoader k poskytování stylů pro jednotlivé vzhledy. Toto je pouze pro vzhledy pro přizpůsobení existujících modulů pro sebe.

Globální $wgResourceModuleSkinStyles umožňuje vzhledům poskytovat další šablony stylů pro přizpůsobení existujících modulů ResourceLoader. Vzhledy jej mohou upravit úpravou klíče ResourceModuleSkinStyles v souboru skin.json. Rozšíření mohou upravit své styly modulů podle vzhledů nastavením klíče skinStyles v definicích modulu ResourceLoader.

To usnadňuje (nebo je to vůbec možné) přepsat výchozí styly a snižuje nároky na styl vzhledu tím, že se na většině stránek nenačítají nepoužívané styly. Pokud má například vzhled mnoho kódu CSS pro přepsání vzhledu stránky Special:UserLogin, může to vložit do samostatného souboru CSS nebo LESS, který přepíše 'mediawiki.special.userlogin.login.styles' a ResourceLoader načte CSS tohoto vzhledu pouze tehdy, když stránka tento modul vyžaduje.

$wgResourceModuleSkinStyles je vícerozměrné pole. Na první úrovni obsahuje název balíčku (skin/extension), který přidává další styly (v následujícím příkladu s názvem "foo"). On the second level it contains key-value-pairs:

  • Klíčem jsou vždy názvy modulů, pro které by měly být použity další styly. Ve výchozím nastavení pak vaše definice nahradí soubor CSS/LESS, který již dříve definoval styly pro tento modul. Pokud je před názvem modulu naopak znaménko "+", vaše styly budou "přidány" k těm stylům, které již byly definovány dříve, takže nenahradí úplné soubory, ale "zachová" všechny styly a pouze přepisovat/přidávat ty, které definujete.
  • Value (hodnota) je relativní cesta k příslušnému souboru. Do modulu lze přidat více souborů jejich zapsáním do pole.

Vector je jedním ze vzhledů využívajících tuto metodu a poskytuje dobrou praktickou [ukázku použití https://phabricator.wikimedia.org/diffusion/SVEC/browse/master/skin.json]. Definici naleznete pod klíčem ResourceModuleSkinStyles.

Základní informace o definování a používání modulů ResourceLoader naleznete v dokumentaci k $wgResourceModules .

Dokumentace

Klíč ResourceModuleSkinStyles uvnitř skin.json lze použít ke změně stylů známých modulů ResourceLoader, které byly definovány v klíči ResourceModules jiných rozšíření.

Styly definované pomocí $wgResourceModuleSkinStyles jsou později přidány do seznamu skinStyles existujícího modulu. Seznam styles nelze upravit ani zakázat.

Pokud je to například definice modulu ResourceLoader bar:

$wgResourceModules['bar'] = [
  'scripts' => 'resources/bar/bar.js',
  'styles' => 'resources/bar/main.css',
];

takto by vzhled Foo poskytoval další styly:

$wgResourceModuleSkinStyles['foo'] = [
  'bar' => 'skins/Foo/bar.css',
];

To je většinou ekvivalentní:

$wgResourceModules['bar'] = [
  'scripts' => 'resources/bar/bar.js',
  'styles' => 'resources/bar/main.css',
  'skinStyles' => [
    'foo' => 'skins/Foo/bar.css',
  ],
];

Pokud modul již definuje svůj vlastní záznam v skinStyles pro daný vzhled, pak je $wgResourceModuleSkinStyles ignorován.

Pokud modul definuje skinStyles['default'], vzhled je možná bude chtít rozšířit, místo aby je nahradil. To lze provést pomocí předpony +.

Příklad:

$wgResourceModules['bar'] = [
  'scripts' => 'resources/bar/bar.js',
  'styles' => 'resources/bar/basic.css',
  'skinStyles' => [
    'default' => 'resources/bar/additional.css',
  ],
];
// Všimněte si znaku '+':
$wgResourceModuleSkinStyles['foo'] = [
  '+bar' => 'skins/Foo/bar.css',
];

To je většinou ekvivalentní:

$wgResourceModules['bar'] = [
  'scripts' => 'resources/bar/bar.js',
  'styles' => 'resources/bar/basic.css',
  'skinStyles' => [
    'default' => 'resources/bar/additional.css',
    'foo' => [
      'resources/bar/additional.css',
      'skins/Foo/bar.css',
    ],
  ],
];

Jinými slovy, jako autor modulu použijte seznam styles pro šablony stylů, které nemusí být deaktivovány vzhledem. Chcete-li poskytnout výchozí styly, které lze rozšířit nebo nahradit, použijte skinStyles['default'].

Stejně jako u $wgResourceModules jsou výchozí cesty relativní ke kořenu MediaWiki. Vždy byste měli zadat localBasePath a remoteBasePath (nebo remoteExtPath/remoteSkinPath).

Příklad:

$wgResourceModuleSkinStyles['foo'] = [
  'bar' => 'bar.css',
  'quux' => 'quux.css',
  'remoteSkinPath' => 'Foo',
  'localBasePath' => __DIR__,
];
Verze MediaWiki:
1.25
Gerrit change 161173

Vymazání stylů uživatelského rozhraní MediaWiki

Core MediaWiki přidává CSS modulů MediaWiki UI default jako default skinStyles, což umožňuje vzhledům přepsat jejich styl. Extrémní příklad pro odstranění většiny stylingu:

$wgResourceModuleSkinStyles['foo'] = [
        'mediawiki.ui' => [],
        'mediawiki.ui.checkbox' => [],
        'mediawiki.ui.radio' => [],
        'mediawiki.ui.anchor' => [],
        'mediawiki.ui.button' => [],
        'mediawiki.ui.input' => [],
        'mediawiki.ui.icon' => [],
        'mediawiki.ui.text' => [],
);

Související odkazy