Extension:Highlight Links in Category

This page is a translated version of the page Extension:Highlight Links in Category and the translation is 93% complete.
Outdated translations are marked like this.
MediaWiki manüel uzantıları
Highlight Links in Category
Sürüm durumu: kararlı
Uygulama Kullanıcı arayüzü, Vikim
Açıklama Adds a CSS class to links pointing to members of a category
Yazar(lar) Brent Laabs (BrentLaabsmesaj)
En son sürüm 0.9.0 (2021-05-29)
MediaWiki 1.25+
Veritabanı değişiklikleri Hayır
Lisans MIT Lisansı
İndir
readme
repository
Örnek https://allthetropes.org/
$wgHighlightLinksInCategory

Highlight Links in Category, bir kategorinin üyelerine işaret eden bağlantılara CSS sınıfı ekleyen bir uzantıdır.

Bir sorunu veya hatayı bildirmek için lütfen Miraheze Phabricator kullanın.

Kurulum

  • Dosyaları indirin ve extensions/ klasörünüzdeki HighlightLinksInCategory 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/HighlightLinksInCategory
  • LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
    wfLoadExtension( 'HighlightLinksInCategory' );
    
  •   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 parametreleri

$wgHighlightLinksInCategory
Bu küresel hangi kategorilerin ek bir CSS sınıfı alacağını yapılandıran bir dizidir. Anahtarlar, boşluk yerine alt çizgi içermesi gereken Kategori adlarıdır. Kategori: ad alanını dahil etmeyin. Her anahtarın değeri, o kategoriye eklemek istediğiniz CSS sınıfıdır. Örneğin:
    $wgHighlightLinksInCategory = array(
        "Disambiguation_pages" => 'disambig',
        "Templates" => 'templates',
    );

Birden fazla sınıf eklemek istiyorsanız, sınıf adlarını boşluklarla ayırın, şunun gibi

    $wgHighlightLinksInCategory = array( "My_Cat" => "class1 class2 class3" );

Bunlardan istediğiniz kadar ekleyebilirsiniz, ancak kullanıcı deneyimi açısından 500 farklı stil bağlantısı eklemek muhtemelen harika değildir.

$wgHighlightLinksInCategory ayarlanmamış veya boş ise, bu uzantı hiçbir şey yapmaz. If you're running a wiki farm and need to turn it off on some wikis, set $wgHighlightLinksInCategory = null; using false could lead to incorrect behavior.

Stil

MediaWiki:Common.css vikinizde bağlantılar için ihtiyacınız olan stilleri ekleyin. Örneğin:

    a.disambig {
        color: rebeccapurple
    }
    a.templates {
        font-weight: bold;
        background-color: #efe;
    }

Bir kategorinin diğerini geçersiz kılmasını istiyorsanız, bunu CSS ile belirtmeniz gerekir.

    a.templates.disambig {
        font-weight: normal;
        background-color: transparent;
        color: rebeccapurple;
    }

Veya alternatif olarak, orijinal a.templates kuralını bunun yerine a.templates:not(.disambig) olarak tanımlayabilirsiniz.

Bağlantı simgesi yaklaşımı da var:

    a.superlink {
        background-image: url(super.png);
        padding-left: 16px;
    }

Kullanıcı geçişleri

Bu vurgulamayı açıp kapatmanın kolay bir yolu, içinde CSS olan bir Gadget oluşturmaktır. Evet, bu, kişiselleştirme bölümünü diğer uzantılara aktaran bir kişiselleştirme uzantısıdır; Hala geceleri uyuyabilirim.

Bu nasıl çalışır

MediaWiki hangi bağlantılı sayfaların var olduğunu belirledikten hemen sonra (kırmızı bağlantı yapmak için), GetLinkColours kancasını çalıştırır (LinkHolderArray.php bakın). O sayfada bağlantılı tüm sayfa kimliklerinin bir listesine sahip olduğumuz için, bu bağlantılardan hangilerinin vurgulamak istediğimiz kategoriler kümesinde olduğunu görmek için bir veritabanı sorgusu çalıştırabiliriz. Sorgu yalnızca categorylinks tablosunun bir dizininde gerçekleştiğinden, oldukça hızlıdır. Ardından, sonuca göre, kullanıcının $wgHighlightLinksInCategory içinde ayarladığı yapılandırma değerleri kullanılarak CSS sınıfları atanır.

CSS'nin nasıl çalıştığını açıklamak bu belgenin kapsamı dışındadır.

Bilinen sorunlar

  • CSS stilleri Flow'a eklenmez, çünkü orada GetLinkColors kancasını çağırmıyor gibi görünüyor.

Ayrıca bakınız