CustomTools arayüzün farklı alanlarına bir düğme (veya bağlantı) ekleme yöntemi sağlar. Şu anda aşağıdaki alanları desteklemektedir:
- Etkinlik sekmeleri (
activity-tabs). Special:RecentChanges, Special:SocialActivity, Special:NewFiles ve Special:Reports sayfasının üstündeki sekme. - Keşfet (
explore). Yerel vikinin navigasyonundaki "Keşfet" açılır menüsü (hem statik hem de yapışkan). - Küresel gezinti (
global-navigation). Küresel gezintide bir daire ikon-düğmesi olarak, oradaki ikonlarla aynı alanda ve aynı tarzda (Oyunlar, Anime, Filmler, TV, Video, Vikiler ve Bir viki başlat). - Küresel navigasyon açılır menüsü (
global-navigation-dropdown). Avatarınızın üzerine geldiğinizde görünen açılır menü. - Araçlarım (
my-tools). araç çubuğu içindeki açılır menü. Menü yoksa, bunun yerine araç çubuğuna eklenecektir. - Sayfa eylemleri (
page-actions). "Edit" düğmesinin yanındaki düğmeler. - Sayfa eylemleri açılır menüsü (
page-actions-dropdown). "Edit" düğmesinin yanında gösterilen açılır listedeki bağlantılar. - Sayfa araçları (sol) (
page-tools-left). Madde kapsayıcısını genişletmek için bir düğmenizin ve bir düzenlemenizin olduğu bir maddenin sol tarafında kayan simgeler simge olarak bir kalem ile düğme. - Sayfa araçları (sağ) (
page-tools-right). Maddenin sağ tarafında bulunan ve Special:WhatLinksHere gibi birkaç bağlantı içeren modül. - Araç çubuğu (
toolbar). Araç çubuğunuz. - Kullanıcı bağlantıları (
user-links). Kullanıcı ile ilgili sayfalardaki sekme (Kullanıcı:Örnek, Kullanıcı mesaj:Örnek, User blog:Örnek, Özel:Katkılar/Örnek). - Kullanıcı istatistikleri (
user-stats). Bir kullanıcının adının altındaki bağlantılar ve profil kartındaki etiketler, zaten onların düzenleme ve gönderilerinin sayısını burada bulabilirsiniz. - Viki araçları (
wiki-tools). Yerel gezintinin sağ tarafında bulunan ve normalde şu düğmeleri bulabileceğiniz simgeler: Ara, Tartış, Son Değişiklikler, Temayı değiştir ve bir açılır menü. - Viki araçları açılır menüsü (
wiki-tools-dropdown). Bir önceki noktada bahsedilen açılır menü.
- Not: Bu betiğini site genelinde belirli alanlara düğmeler ve bağlantılar eklemek için kullanabilseniz de, bazı alanlara yalnızca kişisel kullanım için izin verilir (genel gezinmeye düğme eklemek gibi).
Installation
API
Özel araçlar, aşağıdaki özelliklere sahip bir nesne aracılığıyla ayarlanır:
| Özellik adı | Açıklama | Tür | Gerekli mi? | Notlar |
|---|---|---|---|---|
classes
|
Düğmeye veya bağlantıya eklenecek sınıflar. | Dize veya bir dizelerin dizisi | Hayır | |
click
|
Düğmeye tıkladığınızda çağrılacak bir işlev. | İşlev | Hayır | |
icon
|
WDSIcons'dan bir simgenin adı. Ayrıca Fandom Tasarım Sistemi'ne bakın. | Dize | Alana bağlı olarak. | Asla bir boyut belirtmeyin, yalnızca simgenin adını belirtin. Örneğin, clock kullanın; asla clock-small kullanmayın.
|
link
|
Bir yere bağlanmasını istiyorsanız, URL'yi bu özellikte ayarlayın. | Dize | Hayır | URL'niz http://, https:// veya // ile başlıyorsa, URL olarak kullanılacaktır. https://google.com bu URL'ye yönlendirecektir.
|
placement
|
Düğme nereye eklenir. Geçerli değerler bu sayfanın başındaki madde işareti listesindeki şeklindedir. | Dize | Evet | Diğer değerler yok sayılır. |
position
|
Düğmenin kapsayıcıda nereye ekleneceği. Varsayılan olarak, başlangıçta eklenir. Negatif sayılar, Array.at ile benzer şekilde sondan sayılır.
|
Sayı | Hayır | 0 onu en başa ekleyecektir; 1 zaten orada olan ilk öğeden sonra (varsa); sonunda -1; -2 zaten orada olan son ögeden önce; ve benzeri.
|
text
|
Hangi metin gösterileceği. | Dize | Hayır | Konuma bağlı olarak değişir: bir düğme etiketi, bir araç ipucu veya title özniteliğinde kullanılabilir.
|
i18n
|
Betiğiniz I18n-js kullanarak birden çok dili destekliyorsa, çevirilerin ilgili i18n JSON sayfasından alınması için adını (ör. CustomTools) belirtin.
|
Dize | Hayır | |
system
|
MediaWiki'nin sistem mesajlarını kullanmak istiyorsanız, bu özelliği true olarak ayarlayın ve o sistem mesajını almak için text değeri kullanılacaktır.
|
Boole | Hayır | system: true ve text: 'group-sysop' metin alanında o sistem mesajının değerini görüntüler (İngilizce'de "Administrators", Türkçe'de "Hizmetliler", ve benzeri).
|
- Alan bir simge gerektiriyorsa ve siz bir simge belirtmezseniz, varsayılan olarak
errorkullanır. - Hem simgeleri hem de i18n özelliklerini kullanmak için WDSIcons veya I18n-js ile içe aktarmanız gerekmez, çünkü bunlar betik tarafından zaten içe aktarılır.
Betikler
Betik, eklemek isteyebileceğiniz tüm düğmeleri ve bağlantıları ayarlamanız için size bir işlev sağlayan bir dev.ct kancasını çalıştırır.
mw.hook('dev.ct').add(function(addButtons) {
// addButtons'u çağırarak düğmelerinizi buraya ekleyin.
});
importArticle({
type: 'script',
articles: [
'u:dev:MediaWiki:CustomTools.js'
]
});
İşlev, API'nin başında açıklanan arabirime sahip bir dizi veya tek bir nesne bekler.
- Örnek: Sondaki
page-tools-leftalanına tek bir düğme ekleyin.
mw.hook('dev.ct').add(function(addButtons) {
addButtons({
icon: 'eye',
link: mw.config.get('wgPageName') + '?action=watch',
placement: 'page-tools-left',
position: -1,
text: 'İzleme listesine ekle'
});
});
importArticle({
type: 'script',
articles: [
'u:dev:MediaWiki:CustomTools.js'
]
});
- Örnek: Bu,
page-tools-leftalanının sonuna bir düğme ve keşif menüsünde bir tane daha ekler.
mw.hook('dev.ct').add(function(addButtons) {
addButtons([
{
icon: 'eye',
link: mw.config.get('wgPageName') + '?action=watch',
placement: 'page-tools-left',
position: -1,
text: 'İzleme listesine ekle'
},
{
link: 'Special:Logs',
placement: 'explore',
position: -1,
system: true,
text: 'günlük'
}
]);
});
importArticle({
type: 'script',
articles: [
'u:dev:MediaWiki:CustomTools.js'
]
});
Kişisel kullanım
Betiklerde açıklanan kancayı kullanabilir veya işlevin parametresi olarak kullanacağınız aynı yapıya sahip global bir window.CustomTools nesnesi veya nesne dizisi ayarlayabilirsiniz.
window.CustomTools = [
{
icon: 'eye',
link: mw.config.get('wgPageName') + '?action=watch',
placement: 'page-tools-left',
position: -1,
text: 'İzleme listesine ekle'
},
{
link: 'Special:Logs',
placement: 'explore',
position: -1,
system: true,
text: 'günlük'
}
];
importArticle({
type: 'script',
articles: [
'u:dev:MediaWiki:CustomTools.js'
]
});
Bu yöntemi yalnızca kişisel betikler için kullanın, asla geliştiriciden veya vikinizin JS'sinden içe aktarılacak betikler için kullanın, çünkü diğer kullanıcıların kişisel özel araçlarını bozabilir.
Kullanıcı seçenekleri
İleri düzey kullanıcılar için, yapılandırma nesnesini kullanıcı seçenekleri aracılığıyla da ayarlayabilirsiniz:
// Seçenek A
mw.user.options.set('userjs-custom-tools', JSON.stringify([ /* ... */ ]));
// Seçenek B
(new mw.Api()).saveOption('userjs-custom-tools', JSON.stringify([ /* ... */ ]));
Ayrıştırılacak ve varsa kurulum için kullanılacaktır.