Příručka:$wgResourceModuleSkinStyles
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: | [] |
Další nastavení: Podle abecedy | Podle funkce |
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"). Na druhé úrovni obsahuje páry klíč-hodnota:
- 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í. Definici naleznete pod klíčem ResourceModuleSkinStyles
.
Základní informace o definování a používání modulů ResourceLoader najdete 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 ResourceLoader modulu 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 <code>+</code>:
$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
Jádro MediaWiki přidává CSS modulů MediaWiki UI ResourceLoader 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
- ResourceLoader
$wgResourceModules
- Zaregistruje moduly, které lze později načíst na stránku$wgResourceModuleSkinStyles
- Zaregistruje šablony stylů poskytované skiny a přidá je do existujícího modulu ResourceLoader$wgResourceLoaderDebug
- Nakonfiguruje výchozí režim ladění pro MediaWiki.- Nastavení interní konfigurace:
$wgExtensionAssetsPath
,$wgResourceLoaderMaxage
- ResourceLoaderRegisterModules háček
- Vývoj s ResourceLoaderem - Naučte se, jak používat ResourceLoader v MediaWiki