Extension:TemplateStyles/tr

TemplateStyles uzantısı, bir viki sayfasından bir stil sayfasının yüklenmesi gerektiğini belirtmek için etiketi sunar. Bunu bir şablona yerleştirmek, şablonun ile yerleştirmek zorunda kalmadan özel stillere sahip olmasını sağlar.

Uzantıyı bir vikide düzenleyici olarak kullanma talimatları için sayfasına bakın.

Kullanım
İlk olarak, CSS sayfası oluşturulmalıdır. Varsayılan olarak, Şablon ad alanındaki başlığı ".css" ile biten herhangi bir alt sayfa, sözdizimi hatası içermiyorsa, "Temizlenmiş CSS" ile oluşturulur.

Ad alanları seti  ile ayarlanabilir veya  herhangi bir sayfada kullanılabilir. Ardından, şablonun vikimetinde stilleri yüklemek için  etiketini ekleyin.

"Sterilize edilmiş CSS" içerik modeli kullanılarak kaydedilen CSS, kesin geçerlilik gereksinimlerini karşılamalıdır: geçersiz CSS, tanınmayan kurallar ve tanınmayan veya desteklenmeyen özellikler veya özellik değerleri kaydedilemez. Geçersiz CSS yine de bir şekilde kaydedilirse, CSS tarayıcıya çıktılandığında rahatsız edici yapılar kaldırılır.

Etiketteki  özelliğinin değeri, varsayılan olarak Şablon ad alanı olan sayfanın başlığıdır. (Bu varsayılan,  ile değiştirilebilir.) Örneğin,, "Template:Example/styles.css" sayfasını yükler. Bu sayfa yoksa veya "Sterilize edilmiş CSS" dışında bir içerik modeli varsa bu başarısız olur.

Stiller, etikete isteğe bağlı  parametresi kullanılarak sayfa içinde, ör. , ana ayrıştırılmış içeriğin içindeki herhangi bir  ile yüklenen stilleri kapsar. parametresi için herhangi bir CSS basit seçici dizisi kullanılabilir. Bunun amacı, bir şablonun canlı ve korumalı alan sürümlerinin yan yana karşılaştırılmasına olanak sağlamaktır.

Dezenfekte edilmiş CSS kullanımı, şablonların kopyalanması gibi izlenir ve bir dönüşüm olarak görünecektir.

Caveatlar

 * TemplateStyles tarafından eklenen stillerin kapsamı, ayrıştırılmış ana içeriğin dışında kullanıcı arayüzünde değişiklik yapılmasını önlemek için  kapsamındadır.
 * TemplateStyles'ı tr:MediaWiki:Protectedpagetext gibi bir şeye stil vermek için kullanmak için, mesajın içeriğini  içine almanız gerekir.
 * Stiller, belirli CSS sınıflarını hedefleyecek şekilde yazılmalıdır ve bu sınıflarla öğeler oluşturan her şey, bunu yapmak için başka bir şablona güvenmek yerine, stillerin kendisini de içerdiğinden emin olmalıdır.
 * Bir şablon tarafından dahil edilen stiller, o şablon tarafından oluşturulan içeriğin dışındaki sayfadaki içeriği şu anda etkileyebilir, ancak bu özellik gelecekte kaldırılabilir ve bunlara güvenilmemelidir.
 * Bir şablona, ​​o şablonun dışındaki içerikleri etkileyen stiller eklemek, bu şablonu içermeyen bir bölümü düzenlerken bu stillerin uygulanmamasına neden olur. Örnek: sayfanın tüm tablolarını etkileyen bir bilgi kutusuna stiller dahil olmak üzere, bilgi kutusunu içermeyen bir bölümü düzenlerken, o bölümün önizlemesi yapılırken bu tablolara stil uygulanmayacaktır.
 * TemplateStyles birkaç standart olmayan CSS özelliğine izin verir. Ek özellikleri destekleme istekleri css-dezenfektan ve TemplateStyles projelerinde Phabricator'da dosyalanmalıdır.
 * İstekler, istenen özelliklerin sözdizimini açıklayan standartlar içeren dokümanlara (ör. w3.org) bağlantılar ve özellikler için mevcut tarayıcı desteğinin bir analizini içermelidir (örneğin özellikler hakkında bir caniuse.com sayfasına bağlantı).
 * Satıcı tarafından önceden eklenmiş özelliklerin (ör.,   veya   ile başlayan herhangi bir şey), modern tarayıcılar için gerekli olmadıkları takdirde reddedilir.
 * kuralları, "TemplateStyles" önekine sahip bir  kullanmalıdır. Bu, belgenin başka bir yerinde kullanılan yazı tiplerinin yeniden tanımlanmasını büyük ölçüde engellemelidir.
 * Stilleri görünümlere göre hedeflemek için  gibi bir seçici kullanın;   öğesinin belirtilmesi zorunludur ve bunu bir torun birleştiricisi (yani boşluk) takip etmelidir.   veya   öğeleri üzerindeki diğer sınıflar da aynı şekilde hedeflenebilir.

Diğer bağımlılıklar
toplama veya RemexHtml kullanacak şekilde yapılandırılmalıdır. Raggett sürücülerinden herhangi biriyle kullanılırsa, paragrafın ortasındaki satırlık etiket (satır içi şablon dahil), bu noktada paragrafın kırılmasına neden olur. Diğer sürücüler bu sorun için test edilmemiştir.

Olası hatalar
Örneğin, başka bir vikiden sayfa alırken bir hatayla karşılaşırsanız, aşağıdaki hatalardan herhangi biriyle karşılaşıp karşılaşmadığınızı belirlemek için  ile  etkinleştirmenize yardımcı olabilir.


 * Bu hata, bir viki CSS sayfası içe aktarılmaya çalışıldığında veya bir sayfanın içerik modelini değiştirme "santized-css" olarak belirlendiğinde ortaya çıkabilir. 16 Nisan 2020 itibariyle, uzantı depolayıcısında, uzantı Git'ten yüklü olmasa bile uzantı alt dizininde  çalıştırılmasını gerektiren bir açık hata vardır. Ayrıntılar için Topic:Ukv6pdo96a8qfur2 sayfasına bakın.
 * Bazı kullanıcılar sayfaları içe aktarırken vikide bu hatayı alır. Bu uzantı söz konusu içerik modelini sağlar. İçe aktarma işleminizi düzeltmek için TemplateStyles'ı yükleyin.
 * Bazı kullanıcılar sayfaları içe aktarırken vikide bu hatayı alır. Bu uzantı söz konusu içerik modelini sağlar. İçe aktarma işleminizi düzeltmek için TemplateStyles'ı yükleyin.
 * Bazı kullanıcılar sayfaları içe aktarırken vikide bu hatayı alır. Bu uzantı söz konusu içerik modelini sağlar. İçe aktarma işleminizi düzeltmek için TemplateStyles'ı yükleyin.

Ayrıca bakınız

 * - CSS dezenfeksiyonu için kullanılır.
 * T483 "RfC: Şablonlarda stile izin ver" (bu uzantıyı Wikimedia vikilere depolama hakkında)
 * Requests for comment/Allow styling in templates
 * T56864 "ResourceLoader: Viki modüllerinde (kullanıcı ve site) LESS desteğini uygulayın, örn. MediaWiki:Common.less"
 * T155813 "TemplateStyles CSS için depolama ve dağıtım yöntemine karar verin"
 * Mobil cihazlar için içerik hazırlamak artık daha kolay: Wikimedia Blog'da Vikipedi ölçeğinde duyarlı web tasarımı.
 * Mobil cihazlar için içerik hazırlamak artık daha kolay: Wikimedia Blog'da Vikipedi ölçeğinde duyarlı web tasarımı.