Extension:CSS

From mediawiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:CSS and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki manüel uzantıları
OOjs UI icon advanced.svg
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 (2017-06-06)
MediaWiki 1.25+
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
Örnek organicdesign.nz
  • $wgCSSPath
  • $wgCSSIdentifier
Translatewiki.net adresinde mevcutsa, CSS uzantısını çevirin
Kullanım ve sürüm matrisini kontrol edin.
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

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

  1. 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