Extension:Gadgets/tr

Gadgets uzantısı, kullanıcıların diğer viki kullanıcılarının sağladığı JavaScript veya CSS tabanlı "küçük araçlar" seçmeleri için bir yol sağlar.

Küçük araçlar, MediaWiki ad alanındaki sayfalarda bulunan JavaScript ve/veya CSS üzerinden oluşur. Her küçük araç, MediaWiki:Gadgets-definition cinsinden bir satırla tanımlanır ve küçük araç için bir ad ve açıklama ile kullandığı JS ve CSS pasajlarının bir listesini sağlar (aşağıdaki "Kullanım" bölümüne bakın).

Küçük araçlar MediaWiki ad alanında (küçük araçları ve gerçek kod pasajlarına tanımlayan liste) bulunduğundan, yalnızca hizmetliler (1.32'den itibaren arabirim hizmetlileri) kodu düzenleyebilir. Olması gerektiği gibi: Yalnızca viki topluluğu tarafından özellikle güvenilen kullanıcılar, diğer kullanıcılar tarafından kullanılan JavaScript kodunu düzenleyebilmelidir, çünkü JavaScript hesapları ele geçirmek veya insanları gözetlemek için kolayca kullanılabilir.

Kullanım
üzerinde bağlı olarak küçük araçları tanımlamanın iki yolu vardır. ise (varsayılan değer), kullanılabilir küçük araçların listesi MediaWiki:Gadgets-definition olarak tanımlanır. Alternatif bir şekilde,,   olarak ayarlandığında Gadget definition ad alanındaki sayfalarda tanımlanan Küçük araç tanımları.

En az bir geçerli küçük araç ile oluşturulduktan sonra, burada tanımlanan küçük araçlar $2 "Küçük araçlar" bölümünde görünür, böylece kullanıcılar kullanmak istedikleri küçük araçları seçebilirler. MediaWiki:Gadgets-definition ile tanımlanan küçük araçlara genel bir bakış, kolay düzenleme için ilgili sistem mesajlarına bağlantılar ile birlikte Special:Gadgets üzerinde de gösterilir. Varsayılan olmayan gadget kullanımına ilişkin istatistikler Special:GadgetUsage altında görülebilir.

MediaWiki Küçük Araç Tanımını Kullanma
MediaWiki:Gadgets-definition içindeki bir veya daha fazla "*" (yıldız) karakteriyle başlayan her satır bir küçük aracı tanımlar; aşağıdaki forma sahip olmalıdır:

* gadget_name [seçenekler (çıkarılabilir)] | sayfa adları

İlk alan (örnekte " gadget_name ") küçük aracın dahili adıdır ve viki sözdizimini kullanarak küçük aracın kısa bir açıklamasını içeren bir sistem mesajına (örnekte MediaWiki:Gadget- gadget_name ) kaynağında bulunur.

Biçim seçenekleri:

[seçenek1 | seçenek2 | ... seçenekN]

boşluk bırakılabilir. Tek bir seçenek, tek bir seçenek adından oluşabilir (bu durumda bir işaret seçeneğidir) veya virgülle ayrılmış bir değerler listesi içerebilir:

option = value1, value2, value3

Örnekler: * mygadget[ResourceLoader]|mygadget.js|mygadget.css veya * mygadget[ResourceLoader|package]| mygadget.js | mygadgetParserModule.js | mygadgetData.json | mygadget.css veya * mygadget[ ResourceLoader | rights=foo, bar ] | mygadget.js | mygadget.css

Gadget Definition Ad Alanını Kullanma
Gadget definition:mygadget sayfanın oluşturulması ve içine aşağıdaki JSON kodunun yerleştirilmesi  ile aynı etkiye sahiptir.

Yukarıdaki örnekte Gadget:Mygadget.js ve Gadget:mygadget.css kullanılmıştır. Küçük araç tanımı ad alanında  seçeneğinin her zaman true olduğunu unutmayın.

Seçenekler
Küçük araçlarınızı için ekstra bağımlılıklar belirleyebilirsiniz, örneğin:

* mygadget[ResourceLoader|dependencies=jquery.ui, jquery.effects.clip]|mygadget.js|mygadget.css

Burada, ResourceLoader'dan  ve   modüllerini mygadget ile yüklemesini istiyoruz. Küçük araçların sayfalardan, statik dosyalardan veya harici URL'lerden gelen betiklerine bağlı olamayacağını, yalnızca ResourceLoader'da kayıtlı modüllere bağlı olduğunu unutmayın. Bir sayfadan bir betiğini bir sayfadaki başka bir betiğine bağımlı hâle getirmek için, her birinin kendisini ResourceLoader'da bir modül olarak kaydeden bir gadget olması gerekir, ardından aşağıdaki sözdizimi kullanılarak bağımlılıkları yapılabilir:

* childgadget[ResourceLoader|dependencies=ext.gadget.parentgadget]|childgadget.js Bir küçük aracı varsayılan olarak etkinleştirmek için " " öğesini kullanın: * mygadget[ResourceLoader|default|dependencies=mediawiki.util]|mygadget.js|mygadget.css Küçük aracı yalnızca uygun izinlere sahip kullanıcılara sunmak için  seçeneğini belirleyin, örneğin: * ImprovedDeletion [rights=delete] | ImprovedDeletion.js Küçük aracı yalnızca sayfaları gerçekten silebilen kullanıcılar için kullanılabilir hâle getirir.

Kısıtlamaların hizmetliler veya bürokratlar gibi kullanıcı gruplarına değil, izinlere dayalı olduğunu unutmayın. İşte bazı gerçek örnekler:

* modrollback[ResourceLoader|rights=rollback]|modrollback.js * UTCLiveClock[ResourceLoader|rights=purge]|UTCLiveClock.js * Ajax_sysop[ResourceLoader|rights=patrol,rollback,markbotedits,delete]|Ajax_sysop.js

desteği
Her küçük aracın CSS'si her zaman ResourceLoader aracılığıyla yüklenir.

Ancak, eski JavaScript genellikle RL ile uyumsuzdur, bu nedenle betiklerin RL tarafından yüklenmesi için her küçük aracın açıkça uyumlu olarak işaretlenmesi gerekir. Aksi takdirde, düz eski  kullanılacaktır.

En azından kısmen ResourceLoader kullanan (yani, stilleri veya uyumlu betikleri olan) her küçük aracı kendi RL modülü vardır.

Modüller  olarak adlandırılır.

Sayfalar
Satırdaki kalan alanlar, sistem mesajlarında bulunan küçük aracı oluşturan JavaScript, CSS veya JSON koduna atıfta bulunur (örnekte MediaWiki:Gadget-mygadget.js ve MediaWiki:Gadget-mygadget.css); bu mesajların adları sırasıyla ".js" veya ".css" ile bitmelidir.

Bir küçük araç herhangi bir sayıda kod mesajı kullanabilir, özellikle genel kod, kendi özel kodlarına ek olarak birkaç küçük araç tarafından kullanılan bir kod mesajına yerleştirilebilir, örneğin:

* frobinator[ResourceLoader]|commonStuff.js|frob.js|frob.css|pretty.css * l33t[ResourceLoader]|commonStuff.js|tools.js|l33t.js * foobar[ResourceLoader|package]|foo.js|bar.js|foobar.json Lütfen kodunuz viki sözdizimi olarak yorumlanabilecek dizeler içeriyorsa (örneğin imza kodu ), kodunuzu  içine dahil etmek ve bu etiketleri JavaScript veya CSS yorumlarına koymak isteyebileceğinizi unutmayın, böylece gerçekte kullanıldığında yorumlanmazlar.

Örnek için MediaWiki:Gadget-externalsearch-bar.js değerinin ilk ve son satırlarına bakın.

Bölümler
MediaWiki:Gadgets-definition içindeki küçük araçların listesi, iki veya daha fazla "=" (eşittir) karakterle başlayan ve biten satırlar kullanılarak bölümlere ayrılabilir; bu, bölümün adını tanımlayan bir sistem mesajının adını içerir, örneğin:

== interface-gadgets ==

Bu, MediaWiki:Gadget-section-interface-gadgets sayfasında tanımlanan başlık ile yeni bir bölüm tanımlar.

Yapılacaklar

 * Temel küçük araçlar yerine getirin