Extension:CSS
CSS Sürüm durumu: kararlı |
|
---|---|
Uygulama | Ayrıştırıcı işlevi |
Açıklama | Maddelere CSS dosyaları, madde veya satır içi kurallar eklemek için bir ayrıştırıcı işlevi sağlar |
Yazar(lar) | |
En son sürüm | 3.5.0 |
MediaWiki | >= 1.35.0 |
Lisans | GNU Genel Kamu Lisansı 2.0 veya üstü |
İndir | |
Örnek | organicdesign.nz |
|
|
Quarterly downloads | 131 (Ranked 44th) |
Translatewiki.net adresinde mevcutsa, CSS uzantısını çevirin | |
Sorunlar | Açık görevler · Hata bildir |
CSS uzantısı, CSS stil sayfalarının belirli maddelere dahil edilmesini sağlar. CSS, başka bir madde, bir dosya veya doğrudan ayrıştırıcı işlevi içinde tanımlanan kurallar olabilir.
Kullanım
Örneğin, "MyStyles.css" adlı bir CSS maddeniz varsa, bunlar "MyFancyUserPage" maddesi ile kullanılması amaçlanan stillerdir, aşağıdaki ayrıştırıcı işlevi sözdizimini ikincisine eklersiniz,
{{#css:MyStyles.css}}
Öte yandan "MyStyles.css", /wiki/skins dizininde bir dosya ise, aşağıda gösterildiği gibi dahil edilecektir. Dosyayı madde başlığından ayırmak için başında eğik çizgi bulunan mutlak bir yol olması gerektiğini unutmayın.
{{#css:/skins/MyStyles.css}}
Alternatif olarak, CSS kuralları aşağıdaki örnekte olduğu gibi doğrudan ayrıştırıcı işlevine (satır içi) dahil edilebilir,
{{#css:
body {
background: yellow;
font-size: 20pt;
color: red;
}
}}
Kurulum
- Dosyaları indirin ve
extensions/
klasörünüzdekiCSS
adlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CSS - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'CSS' );
- Gerektiği gibi yapılandırın.
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Yapılandırma
İsteğe bağlı olarak, harici dosyalar için temel URL'yi ayarlayabilirsiniz.
$wgCSSPath = false; # $wgScriptPath göre varsayılan
$wgCSSPath = ''; # Sunucunuzun köküne göre
$wgCSSPath = 'https://example.org/stylesheets'; # Farklı bir siteye göre
PageCSS değişimi olarak kullanın
- css: ayrıştırıcı işlevi yerine
<css>
ve</css>
etiketlerini kullanan önceki bir Extension:PageCSS (artık arşivlenmiştir) vardır.
Bu uzantı, bu uzantıların sağladığının çoğunu yapabilir, ancak sözdizimi uyumsuzdur.
Hala eski <css>
etiketlerini kullanan mevcut sayfaların bozulmasını önlemenin bir yolu, hem bu Extension:CSS hem de Extension:NewPageCSS aynı vikide kullanmaktır.
Alternatif bir çözüm (yalnızca bu uzantıyı kullanmak istiyorsanız, ancak Extension:PageCSS bekleyen içeriğiniz varsa) bu saplama işlevini bir PHP dosyası olarak kaydetmek ve <css> ile #css yeniden eşlemek için LocalSettings.php'nizden dahil etmektir:
<?php
// <css></css> etiketlerini {{#css:}} ayrıştırıcı işlev uzantısına yeniden eşlemek için taslak
// https://www.mediawiki.org/wiki/Extension:CSS yüklerken kullanmak için Extension:NewPageCSS'yi var olan vikiler üzerinde değiştirmek için
$wgHooks['ParserFirstCallInit'][] = 'wfCSSParserStubInit';
// Geri çağrı işlevimizi ayrıştırıcıya bağlayın
function wfCSSParserStubInit( Parser $parser ) {
// Ayrıştırıcı <css> etiketini gördüğünde, {{#css:}} ayrıştırıcısını çağırmak için taslak wfCSSTagRender işlevini (aşağıda) çalıştırır.
$parser->setHook( 'css', 'wfCSSTagRender' );
return true;
}
// <css> etiketini yürütün
function wfCSSTagRender( $input, array $args, Parser $parser, PPFrame $frame ) {
// Taslak işlevi, kullanıcı tarafından sağlanan giriş metnini vikimetini olarak yeniden ayrıştırmak için {{#css:}} ayrıştırıcı işlevine kör bir şekilde yönlendirin
$output = $parser->recursiveTagParse('{{#css:' . $input . '}}', $frame);
return $output;
}
Bu noktada, önceki PageCSS (veya NewPageCSS) uzantıları yapılandırmanızdan kaldırılabilir; <css> şimdi #css gider: ve (bu CSS uzantısını zaten çalışır durumda tutarsanız), diğer CSS uzantılarının her zaman sahip olduğu gibi davranacaktır.
Belirli bir sayfanın rengini veya arka planını değiştirmeyle ilgili sorunlar
CSS'yi başka bir sayfadan kullanmak için ayrıştırıcı işlevini kullanmak sayfanın rengini veya arka planını değiştirmek için işe yaramaz, ancak tek bir sayfada ayrıştırıcı işlevini kullanmak kendi başına arka planın değiştirilmesine izin verir. Bu sorunun üstesinden gelmek için, CSS'yi yansıtma yoluyla yüklemek mümkündür, bu da değişikliğin sayfa arka planına yüklenememesi sorununa neden olmaz.
Hatalar
Tartışma sayfasına bakın.
Ayrıca bakınız
- Extension:NewPageCSS
- Extension:TemplateStyles - CSS'yi temizleyen ve ayrı sayfalarda depolayan benzer bir uzantı.
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |