Fandom Developers Wiki
Advertisement

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

Kurulum[]

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.


URL'niz / ile başlıyorsa, varsa dili koruyarak vikinin temel URL'sinden sonra eklenecektir. w:c:community adresinde, /f, bağlantıyı https://community.fandom.com/f olarak ayarlar; w:c:tr.genshin-impact içinde, /f, bağlantıyı https://genshin-impact.fandom.com/tr/f olarak ayarlayacaktır.
Aksi takdirde, yerel bir bağlantı olarak kullanılacaktır. Special:RecentChanges, Special:RecentChanges ile yol açacaktır. Değerden çıkış yapılmaz, bu nedenle Sayfa?action=edit sizi o sayfayı düzenlemeye 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.


Davranışı i18n ve system özellikleri tarafından değiştirilir.

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.


Anahtar olarak text değeri kullanılacaktır.

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 error kullanı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-left alanı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-left alanı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.

Advertisement