Fandom Developers Wiki
Advertisement

Modül oluşturma hakkında bilgi için, UserTags/Extending sayfasına bakın.
Benzer işlevselliğe sahip bir betik için, ProfileTags sayfasına bakın.

UserTags, kullanıcı sayfalarındaki etiketleri ("Kurucu", "Hizmetli", "Engellendi" vb. kullanıcı kartlarında) kullanıcı adlarının yanında görünen etiketleri ekleyebilen, kaldırabilen, değiştirebilen ve yeniden düzenleyebilen bir betikdir. Fandom varsayılanlarına ek olarak etiketler eklemenize ve bunları istediğiniz gibi yeniden düzenlemenize ve kaldırmanıza olanak tanır. Ayrıca, uygun gördüğünüz herhangi bir nedenle kullanıcılara verebileceğiniz özel etiketler de icat edebilirsiniz.

Bu betik, InactiveUsers ve UserBadge yerine geçer. Çakışmaları önlemek için bu üç betikten yalnızca birini kullanmalısınız. UserTags en yenisidir ve çoğu özellik ve özelleştirme seçeneğine sahiptir.

Forumdaki (Tartışmalar değil) ve Mesaj Duvarlarındaki "etiketler" için MessageWallUserTags sayfasına bakın.

Kurulum[]

Not: MediaWiki:Common.css dosyasına aşağıdaki CSS'yi de eklemeniz gerekecek:

a.user-identity-header__tag {
    color: inherit;
}

Bu, temel işlevsellik için yeterlidir; ancak, özelleştirmek istiyorsanız, Yapılandırma bölümünü okumanız gerekecektir.

Yapılandırma[]

Bu betiğin birçok özelliği var, bu nedenle aşağıdaki bölüm biraz uzun. Hepsini kullanmanıza gerek yok; aslında istemediklerinizi görmezden gelebilirsiniz. Örneklere atlayıp Temel Yapılandırma bölümünü okumak için geri dönebilirsiniz.

Temel Yapılandırma[]

Bunu Common.js dosyasına ekleyin: (kaynak)

window.UserTagsJS = {
	modules: {},
	tags: {},
	oasisPlaceBefore: ''
};

Bilmeniz gereken ilk şey, kullanıcıların "'gruplara" ayrıldığıdır, bunlar "blocked", "sysop", "bureaucrat" veya "inactive" gibi şeylerdir. Bunlar yazılım tarafından kullanılan dahili isimlerdir ancak sonunda ekranda görüntülenmeleri gerekir, bunun için "etiketler" dönüştürülürler. Etiketler, daha sonra ekranda gerçekte ne gösterildiğini açıklar.

Basit bir örnek yapalım, diyelim ki 3 etiket oluşturmak istiyorsunuz: "Ayın Editörü", "Öne Çıkanlar" ve "Şablonlar Gurusu". Bunu yapmak için "montheditor", "featured" ve "templates" gruplarını oluşturacağız:

window.UserTagsJS = {
	modules: {},
	tags: {
		// grup: { ilişkili etiket verileri }}
		montheditor: { u:'Ayın Editörü' },
		featured: { u:'Öne Çıkan' },
		templates: { u:'Şablonlar Gurusu' }
	}
};

Yeni gruplar ve etiketler oluştururken bu genellikle yeterlidir, ancak bu etiketler başlıktaki satırın sonuna yerleştirilecektir. Belki bunun yerine etiketi başlangıçta yerleştirmek istersiniz, sırayı kontrol etmek için order yapılandırma seçeneğini kullanırsınız.

window.UserTagsJS = {
	modules: {},
	tags: {
		montheditor: { u:'Ayın Editörü', order:-1/0 },
		featured: 'Öne Çıkan',
		templates: 'Şablonlar Gurusu'
	}
};

order parametresi, negatif sonsuzdan pozitif sonsuza kadar bir sayıdır, daha düşük sayılar başlangıca daha yakındır. Bu durumda -1/0 negatif sonsuzdur, bu nedenle etiket başlangıca yerleştirilecektir.

Etiketlerinizi tasarlamak için aşağıdaki parametrelerden herhangi birini kullanabilirsiniz:

Parametre Açıklama Tür Varsayılan
u Etiketlenen kullanıcının cinsiyeti bilinmiyorsa görüntülenecek metin (seçeneklerinde ayarlanmamıştır). Metin Gerekli.
m [Etiketli] kullanıcı erkek olduğunda görüntülenecek metin. Metin Eksikse, bunun yerine u değeri kullanılır.
f [Etiketli] kullanıcı kadın olduğunda görüntülenecek metin. Metin Eksikse, bunun yerine u değeri kullanılır.
order Satırdaki etiketlerin sırasını kontrol eder. Daha düşük sayılar başlangıca ve en büyük sayı sona yerleştirilir. Sayı 10100
link Etiketi, vikide veya internette herhangi bir yerde bir sayfanın bağlantısına dönüştürmenize olanak tanır. "Project:Adminisrators" gibi normal viki bağlantılarını veya "https://www.google.com/" gibi tam URL'leri kabul eder. Bu ayarlanmazsa, etiket bunun yerine düz metin olarak görüntülenecektir. Vikiarası bağlantılarının ("wikipedia:tr:Bilgisayar" gibi) işemeyeceğini unutmayın, bunun yerine tam bir http:// URL'si kullanın. Metin boş
title Kullanıcı faresini etiketin üzerine getirdiğinde görüntülenen metni ayarlar. Metin boş

Erkek/kadın/bilinmeyen türevleri, erkekler/kadınlar için farklı isimlere sahip İtalyanca gibi İngilizce dışındaki dilleri desteklemek için mevcuttur. İngilizce'de veya cinsiyete göre ayrım yapmayan diğer dillerde, yalnızca u (bilinmeyen) alanını kullanmanız gerekir.

Mevcut Etiketleri Geçersiz Kılma[]

Bazen mevcut etiketler ihtiyaçlarınız için yeterli olmayabilir; belki metni değiştirmek, sıralamak veya bir bağlantı hâline getirmek istersiniz. Bunu, mevcut grup için kendi etiketinizi tanımlayarak yapabilirsiniz:

window.UserTagsJS = {
	modules: {},
	tags: {
		bureaucrat: { u:'Bureaucrat Tag', link:'Project:Bureaucrats' },
		inactive: { u: 'Has not edited recently' }
	}
};

Bu, bürokrat etiketini "Bureaucrat Tag" olarak değiştirecek ve onu Project:Bureaucrats sayfasına bir bağlantıya dönüştürecek ve etkin olmayan etiketi, yalnızca "Etkin Değil" yerine "Has not been edited recently" yazacak şekilde değiştirecektir. Alternatif olarak, metni değiştirmeden bir bağlantı yapmak veya sadece sırayı değiştirmek isteyebilirsiniz, bunu da yapabilirsiniz:

window.UserTagsJS = {
	modules: {},
	tags: {
		bureaucrat: { link:'Project:Bureaucrats', order:1e101 }
	}
};

Bu bürokrat etiketini bir link haline getirecek ve söylediklerini değiştirmeden sonuna kadar taşıyacaktır. [NOT: Metni ayarlamamak yalnızca yerleşik gruplarla çalışır; kendi oluşturduğunuz gruplarınız için, etiket üzerindeki metni belirtmek isteğe bağlı değildir]

NOT: Adlarında kısa çizgi bulunan yerleşik gruplarla çalışırken, çalışması için adı tırnak içine almalısınız:

window.UserTagsJS = {
	modules: {},
	tags: {
		// BUNU YAPMAYIN, ÇALIŞMAYACAK
		bot-global: { link:'Project:Bots' }

		// BU ÇALIŞACAKTIR
		'bot-global': { link: 'Project:Bots' }
	}
};

Şekillendirme[]

Betik, her etikete farklı bir görünüm vermeyi kolaylaştırmak için tasarlanmıştır. Her etiketin, başına eklenen 'usergroup-' ile onu oluşturan dahili gruba dayalı bir CSS sınıfı vardır. Örneğin, bürokrat etiketinin CSS sınıfı usergroup-bureaucrat, etkin olmayan etiketin usergroup-inactive sınıfı vb. vardır. Özel etiketleriniz, seçtiğiniz grupları kullanır, daha önceki "Ayın Editörü" etiketi, usergroup-montheditor CSS sınıfına sahiptir.

Renkleri veya görünümü değiştirmek için MediaWiki:Common.css dosyasına aşağıdaki gibi bir kural eklemeniz yeterlidir:

.user-identity-header__tag.usergroup-bureaucrat {
	background-color: gold !important;
	color: black !important;
}
.user-identity-header__tag.usergroup-sysop {
        background-color: red !important;
        color: black !important;
}
.user-identity-header__tag.usergroup-featured {
	background-color: blue !important;
	color: white !important;
}

Bu, bürokrat etiketlerini altın ve "özellikli kullanıcı" etiketlerini mavi yapacaktır. Kenarlıkları değiştirmek, arka plan resimleri eklemek veya her neyse, istediğiniz herhangi bir CSS yönergesini kullanabilirsiniz.

.user-identity-header__tag.usergroup-bureaucrat {
	/* Kırmızı kare kenarlıklı etikette özel arka planı görüntüleyin */
	background-image: url("https://site.com/image.png");
	border: 3px red solid;
	border-radius: 0;
}
.user-identity-header__tag.usergroup-featured:before {
	/* "Öne Çıkan" etiketinin sol tarafına bir büyüteç simgesi ekleyin */
	content: url("https://site.com/magnifying-glass.gif");
}

Tek uyarı, dahili grup adlarının sade İngilizceye indirgenmesidir, 'asd%$ü@xyzüü' gibi bir grubunuz varsa, sonunda usergroup-asdxyz ile karşılaşırsınız, ancak hiçbir vikinizin ziyaretçileri tarafından görülmediklerinden, İngilizce olmayan alfabe karakterlerini dahili gruplarda kullanmanın nedeni.

UserTags tarafından üretilen veya yönetilen tüm etiketler, tag-container CSS sınıfına sahip bir span öğesi içinde bulunur. Bu gerçeği, örneğin tag-container öğesini display:block olarak ayarlayarak tüm etiketleri kendi satırlarına taşımak için kullanabilirsiniz. Deneyebileceğiniz efektleri Örnekler bölümünde görebilirsiniz.

Son olarak, kullanıcı kullanıcı kartının kendisi, kendisine eklenen satırdaki ilk etiket için CSS sınıfına sahiptir. Örneğin, bureaucrat etiketi satırın başındaysa, #UserProfileMasthead öğesinin 'usergroup-bureaucrat öğesine sahip olduğunu görürsünüz. Bu gerçeği, kullanıcının hangi gruplarda olduğuna bağlı olarak masthead'e farklı renkler veya arka plan resimleri eklemek için kullanabilirsiniz. Fandom etiketlerinin varsayılan olarak satırın başında olduğunu, özellikle "Personel" gibi kilitli etiketlerin kaldırılamayacağını unutmayın. başından beri. Bu, Personel kullanıcılarının yerel bir yönetici konumunda olsalar bile her zaman 'usergroup-staff' alacağı anlamına gelir.

Etiketlerin nereye konacağını kontrol etme[]

oasisPlaceBefore seçeneği, etiketlerin Oasis başlığında nereye yerleştirileceğini kontrol etmenizi sağlar. Varsayılan olarak, Fandom'daki gibi her zaman sona yerleştirilirler, ancak bu seçenek için bir CSS (jQuery) seçicisi belirterek bunu değiştirmekte özgürsünüz. Örneğin, etiketleri H1'den (kullanıcı adı) sonra, ancak H2'den (gerçek ad) önce yerleştirmek istiyorsanız, şunu yaparsınız:

window.UserTagsJS = {
	modules: {},
	tags: {},
	oasisPlaceBefore: '> h2' // Etiketleri H2'den önce yerleştirin
};

Modüller[]

Yeni modüller oluşturmak için geliştirici belgeleri için, UserTags/Extending sayfasına bakın.

Artık temelleri anladığınıza göre, gerçek özelliklere geçebiliriz. Betik, ayrı ayrı açılıp kapatılabilen modüllere ayrılmıştır. Tüm bunları okumanıza gerek yok, örneklere atlayıp sonra geri dönüp hangilerini istediğinizi seçmek isteyebilirsiniz.

Yerleşik modüller ve yapılandırma seçenekleri aşağıda listelenmiştir. Kendi modüllerinizi oluşturmak veya diğer geliştiriciler tarafından oluşturulan ek modülleri kurmak mümkündür. Başka biri tarafından yazılmış bir 3. taraf modülü kullanmak istiyorsanız, geliştiricisi tarafından sağlanan ilgili belgeleri okumak isteyeceksiniz.

Aktif değil[]

Varsayılan olarak etkindir: Evet
Varsayılan değer: 30
İlişkili Grup/Etiket: etkin değil
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, yapılandırılan aralık içinde düzenleme yapmayan kullanıcılara inactive grubunu ekler. Bir kullanıcının etkin olmadığı kabul edilmesi için düzenlememiş olması gereken gün sayısını belirten bir sayı gerekir:

UserTagsJS.modules.inactive = 50; // 50 gün

Daha katı gereksinimleriniz varsa, düzenlemeleri yapıldıkları ad alanına göre filtreleyebilirsiniz. Örneğin, yalnızca madde sayfalarını düzenleyen kişilerin "etkin" olduğunu düşünüyorsanız ve yakın zamanda bir tartışma sayfasını düzenlemiş olsalar bile diğer herkesin etkin olmadığını düşünüyorsanız, bunun yerine bu yapılandırma biçimini kullanabilirsiniz:

UserTagsJS.modules.inactive = {
	days: 30,
	namespaces: [0],
	zeroIsInactive: true // 0 madde düzenlemesi = aktif değil
};

0 ana madde ad alanıdır. Ad alanları dizisi birden çok değer tutabilir ve URL çubuğundakiler gibi düz ad alanı adları kabul eder, örneğin:

UserTagsJS.modules.inactive = {
	days: 30,
	namespaces: [0, 'Talk', 'User talk', 'Forum'] // Düzenlemeler, maddelere veya tartışma sayfalarına veya kullanıcı tartışma sayfalarına veya sayılacak foruma yapılmalıdır, diğerleri sayılmaz
};

MediaWiki grupları[]

{Varsayılan olarak etkindir: Evet
Varsayılan değer: ['blocked', 'bot', 'bureaucrat', 'checkuser', 'content-moderator', 'rollback', 'soap', 'staff', 'sysop', 'threadmoderator']
{İlişkili Grup/Etiket: Verdiğiniz dizide listelendiği gibi
Anonim Kullanıcılarla Çalışır: Hayır

Bu modül, kullanıcının MediaWiki gruplarını dahili grup listesine ekler ve sunucudan bu gruplar için etiket metni çevirilerini otomatik olarak indirir. Bu modül, bureaucrat, sysop, rollback vb. gibi resmi gruplarla ilgilenir. Special:ListUsers içinde gördüğünüz türden şeyler. Bu modül, eklemek istediğiniz grupları listeleyen bir dizi alır:

UserTagsJS.modules.mwGroups = ['bureaucrat', 'sysop', 'rollback'];

Özel gruplara sahip vikiler için modül, true olarak ayarlanmış merge adlı bir anahtar ve bir değere sahip groups adlı bir anahtar içeren bir nesne alır. Varsayılan gruplar listesiyle birleştirilecek olan özel grupları listeleyen bir dizi:

UserTagsJS.modules.mwGroups = {
    merge: true,
    groups: ['patroller', 'imagecontrol']
};

Düzenleme yapılmayan küresel hesaplar[]

Varsayılan olarak etkindir: Hayır
İlişkili Grup/Etiket: kullanıcı olmayan
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, sıfır düzenlemesi olan kullanıcıları etiketler. Katkı sayacını masthead'de görebileceğiniz için Oasis'te pek kullanışlı değil. Yapılandırma seçeneği yok, isterseniz etkinleştirin:

UserTagsJS.modules.nonuser = true; // Açık

Yeni kayıtlı hesaplar[]

Varsayılan olarak etkindir: Evet
İlişkili Grup/Etiket: notautoconfirmed
Anonim Kullanıcılarla Çalışır: Hayır

Bu modül, hesaplarını henüz yeni oluşturmuş olan kullanıcıları etiketler; yani, yalnızca 4 günden daha kısa bir süredir kayıtlı bir Fandom kullanıcısıdırlar ve Fandom'daki herhangi bir vikide 10'dan az düzenleme yapmıştır. Bu, kukla hesaplarını hızlı bir şekilde tanımak için yararlı olabilir. İsterseniz basitçe etkinleştirin:

UserTagsJS.modules.autoconfirmed = true; // Açık

Sürenin uzunluğu ve düzenleme sayısının Fandom tarafından belirlendiğini ve kontrol edildiğini unutmayın; modülün kendisi onları seçmez ve üzerinde hiçbir kontrolünüz yoktur.

Yeni düzenleyiciler[]

Varsayılan olarak etkindir: Evet
Varsayılan değer: { days: 4, edits: 10 }
İlişkili Grup/Etiket: yeni kullanıcı< br />Anonim Kullanıcılarla Çalışır: Hayır}

Bu modül, belirtilen sayıda gün boyunca sizin vikinizde bulunmayan veya belirtilen sayıda düzenleme yapmamış kullanıcıları etiketler. Bu, tümü yerine bir viki için geçerli olması dışında, temelde autoconfirmed modülüyle aynıdır. Et kuklalarını veya yalnızca bir süredir Fandom'da olan ancak yerel politikaları çok iyi bilmeyen yeni düzenleyicileri tanımak için faydalı olabilir. Yapılandırmak için bu alanlardan herhangi birini ayarlayabilir, varsayılan değeri korumak istediklerinizi dışarıda bırakabilirsiniz:

UserTagsJS.modules.newuser = {
	days: 5, // 5 gündür vikide olmalı
	edits: 10, // Ve etiketi kaldırmak için en az 10 düzenleme yapın
	namespace: 0 // Sayılan maddelerde düzenlemeler yapılmalıdır
};

Parametreler şunlardır:

Parametre Açıklama Tür Varsayılan
days İlk düzenlemelerinden etiket kaldırılana kadar geçen gün sayısı. Sayı 4
edits Etiketin kaldırılması için yapmaları gereken düzenleme sayısı. Sayı 10
namespace Düzenlemelerin sayılmadan önce yapılması gereken sayı ad alanı. Yalnızca madde düzenlemelerinin sayılması için bunu 0 olarak ayarlayın (Deneme tahtalarda, Kullanıcıda, Kullanıcı mesajda, Madde Yorumlarında, Mesaj Duvarlarında vb. yapılan düzenlemeleri yok sayarak). Sayı tüm ad alanları

Bu modül ayrıca isteğe bağlı olarak kendi karar mantığınızı tanımlamanıza izin veren daha güçlü bir formatı da destekler. Bunu kullanmak için temel bir JavaScript anlayışına ihtiyacınız olacak, ancak bu, 3 günden az OR 10'dan az düzenleme OR (30'dan az düzenleme AND 5 günden az) gibi karmaşık ilişkileri tanımlamanıza izin verir.

UserTagsJS.modules.newuser = {
	namespace: 0, // [İsteğe bağlı] Sayılan maddelerde düzenlemeler yapılmalıdır
	computation: function(days, edits) {
		// İfade doğruysa, yeni bir kullanıcı olarak işaretlenirler
		// Eğer ifade false ise, o zaman olmaz
		// Bu örnekte, hangisi önce gerçekleşirse, kullanıcı 30 düzenleme alır almaz VEYA 10 gün boyunca orada olur olmaz yeni kullanıcı kaldırılır
		return days < 10 && edits < 30;
	}
};

Buradaki ad alanı parametresi, ilk sözdizimiyle aynıdır. Bu ikinci biçimdeki days ve edits parametrelerinin hiçbir şey yapmayacağına' dikkat edin, bunlar yalnızca siz yapmadığınız zaman kullanılır. Kendiniz bir hesaplama işlevi tanımlayın.

Özel[]

Varsayılan olarak etkindir: Hayır
İlişkili Grup/Etiket: Sizin belirttiğiniz şekilde
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, özel etiketlerinizi kullanıcılara eklemenizi sağlar. Özel etiketler, Temel Yapılandırmayı bölümünde nasıl oluşturulacağının gösterildiği etiketlerdir. İsterseniz herhangi bir yerleşik grup da ekleyebilirsiniz; Bunu yapmak istiyorsanız, inactive grubunu bir kullanıcıya özel bir grup olarak eklemek tamamen kabul edilebilir (bu, bir gitti listesine eşdeğerdir). Ayrıca, bir kullanıcıya founder veya bureaucrat grubunu eklemek gibi garip şeyler de yapabilirsiniz. Bu modülün yapılandırılması biraz karmaşıktır, kullanıcı adlarını grup dizileriyle eşleştirir:

UserTagsJS.modules.custom = {
	'UserName 1': ['montheditor', 'featured'], // Ayın Editörünü + Öne Çıkanlar ekleyin
	'UserName 2': ['featured'], // Öne Çıkan ekleyin
	'UserName 3': ['featured', 'templates'], // Öne Çıkan + Şablonlar Gurusu ekleyin
	'UserName 4': ['inactive'] // Her zaman aktif değil
};

Buradaki listelerdeki grupların sırasının, grupların ekranda nasıl görüntülendiği üzerinde hiçbir etkisi olmadığını, yalnızca ilişkili etiketin order parametresinin önemli olduğunu unutmayın.

Kullanıcı Filtresi[]

Varsayılan olarak etkindir: Hayır
İlişkili Grup/Etiket: Yok, kaldırır onları eklemez
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, belirli belirli kullanıcılardan grupları kaldırır, örneğin founder grubunu birinden kaldırmak istemeniz veya inactive modülünü etkinleştirmeniz, ancak belirli bir kullanıcının etkin olmadığında bile etkin olmadığını göstermesini istemezsiniz. Biçim, efektin tam tersi olması dışında, yukarıdaki custom ile aynıdır:

UserTagsJS.modules.userfilter = {
	'UserName 1': ['inactive'], // Kullanıcı *asla* aktif değildir
	'UserName 2': ['founder'], // Kurucu grubu kaldırın
	'UserName 3': ['nonuser', 'newuser', 'inactive']
};

Meta filtresi[]

Varsayılan olarak etkindir: Evet
Varsayılan değer: { sysop: ['bureaucrat', 'founder'], bureaucrat: ['founder'], threadmoderator: ['sysop', 'bureaucrat'] }
İlişkili Grup/Etiket: Yok, kaldırır onları ekler
Anonim Kullanıcılarla Çalışır: Evet

Meta filtresi, kullanıcı filtresinin daha güçlü bir versiyonudur, kullanıcı adları yerine gruplar üzerinde çalışır. Biçim başka türlü benzerdir ancak etkisi çok daha etkileyicidir:

UserTagsJS.modules.metafilter = {
	'inactive': ['sysop', 'bureaucrat'], // Aktif olmayanları tüm bürokratlardan ve sistem hizmetlilerinden kaldırın
	'sysop': ['bureaucrat'], // Bürokratlardan "Hizmetli" etiketini kaldırın
	// Tartışma moderatörlerini hizmetlilerden ve HEM devriyesi VE geri döndürme olan kullanıcılardan kaldırın
	'threadmoderator': ['sysop', ['patroller', 'rollback']]
};

İçe patlat (Birleştir)[]

Varsayılan olarak etkindir: Hayır
İlişkili Grup/Etiket: Sizin belirttiğiniz şekilde
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, belirli bir kullanıcı grubu kombinasyonunu algılamanıza ve bunları tek bir grup halinde birleştirmenize olanak tanır. Buradaki fikir, "inactive-bureaucrat" elde etmek için bureaucrat ve inactive ile birleştirmek veya threadmoderator ve "half-admin" veya başka ne istersen almak için patroller ile birleştirmek gibi "meta-groups" oluşturmanıza izin vermektir.

UserTagsJS.modules.implode = {
	'inactive-bureaucrat': ['bureaucrat', 'inactive'], // 'inactive-bureaucrat' ekler ANCAK aynı zamanda bürokrat ve etkin olmayanı da kaldırır
                                                           // yani, bürokrat ve aktif değil ifadesini 'inactive-bureaucrat' ile değiştirir
	'inactive-sysop': ['sysop', 'inactive'],
	'half-sysop': ['threadmoderator', 'patroller', 'rollback']
};

Gördüğünüz gibi, biçim temelde yukarıdaki meta-filter ile aynıdır, ancak bunun tersini yapar.

Patlat[]

Varsayılan olarak etkindir: Hayır
İlişkili Grup/Etiket: Sizin belirttiğiniz şekilde
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, kombinasyon kısmı hariç, yukarıdaki implode ile aynıdır. Yani kullandığınız gruplar kaldırılmayacaktır.

UserTagsJS.modules.explode = {
	'vandal-patrol': ['rollback', 'patroller'] // 'vandal-patrol' grubu ekler ANCAK geri döndürme veya devriyeyi KALDIRMAZ
};

Engellendiğinde sakla[]

Varsayılan olarak etkindir: HER ZAMAN ZORLANMIŞ
İlişkili Grup/Etiket: Yok, onları kaldırır eklemez
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, açıkça görülen blocked grubun kendisi hariç, engellenen kullanıcılardan tüm grupları kaldırır. Bu modül, siz açıkça kapatmadığınız sürece zorla etkindir. Genel olarak, engellenen kullanıcıların etkin değil olarak veya yasaklanmadan önce minimum düzenleme sayısına ulaşmamışlarsa "yeni düzenleyici" olarak işaretlenmesini engelleyeceği için bunu açık bırakmak isteyeceksiniz.

UserTagsJS.modules.stopblocked = false; // Elle kapatın

Engellendi mi?[]

Varsayılan olarak etkindir
İlişkili Grup/Etiket: Yok, onları kaldırır eklemez
Anonim Kullanıcılarla Çalışır: Evet

Bu modül, bir kullanıcının engellenip engellenmediğini belirler.

UserTagsJS.modules.isblocked = false;

Oasis etiketleri[]

Bu modül dahili olarak bulunur ve kullanıcı tarafından yapılandırılamaz. Burada sadece betiğin davranışını açıklamak için belirtilmiştir.

Bu modülün işlevi, sayfadaki Oasis (Fandom tarafından oluşturulan) etiketlerini okumak ve ne anlama geldiklerini yorumlamaktır (Oasis'te 'blocked' ve 'sysop', 'staff', 'soap' vb. gibi varsayılan grupların geldiği yer burasıdır). Ayrıca otomatik olarak user-identity-box-group- mesajlarını custom modüllü gruplarda vb. otomatik olarak getirir.

Örnek[]

// Temel yapılandırma. 2 özel etiket ekliyoruz ve yerleşik sysop etiketinin söylediklerini değiştiriyoruz
window.UserTagsJS = {
	modules: {},
	tags: {
		hello: { m: 'Male', f:'Female', u: 'No Gender Set', order: -1/0, link:'https://en.wikipedia.org/wiki/Gender' },
		muckraker: 'Muckraker',
		sysop: { u:'Addermin', link:'Project:Administrators' }, // "Administrator" ile "Addermin" olarak değiştirin
		'mini-sysop': { u: 'Half Administrator', link:'Project:HalfAdmins' },
		'vandal-patrol': { u: 'Spamdal Janitor', link:'Project:Janitors' }
	}
};
// Birkaç kullanıcıya özel gruplar ekleyin
UserTagsJS.modules.custom = {
	'John Doe': ['muckraker', 'hello'],
	'Someone': ['hello'],
	'You': ['inactive'], // Etkin olmayan modüle güvenmek yerine etkin olmayan grubu zorlayın
	'Other User': ['hello', 'muckraker']
};
UserTagsJS.modules.autoconfirmed = true;
UserTagsJS.modules.newuser = true;
UserTagsJS.modules.inactive = 35; // 35 gün içinde herhangi bir düzenleme yapılmazsa aktif değil
UserTagsJS.modules.mwGroups = ['bureaucrat']; // Bürokratlara bürokrat grubu ekleyin
UserTagsJS.modules.metafilter = {
	sysop: ['bureaucrat'], // Hizmetli grubunu bürokratlardan kaldırın
	hello: ['muckraker'], // Muckraker grubu olan kişilerden merhaba grubunu kaldırın
	'vandal-patrol': ['mini-sysop'] // Vandal-devriyeyi mini hizmetli sistemlerden kaldırın
};
UserTagsJS.modules.userfilter = {
	'John Smith': ['inactive'] // John Smith, aktif olmadığında bile asla hareketsiz değildir
};
UserTagsJS.modules.implode = {
	'mini-sysop': ['patroller', 'rollback', 'threadmoderator'] // TÜM 3 varsa, devriye, geri alma ve threadmoderator hakkını kaldırın ve 'mini-sysop' ile değiştirin
};
UserTagsJS.modules.explode = {
	'vandal-patrol': ['patroller', 'rollback'] // HEM devriyesi HEM geri döndürme olan herkese 'vandal-patrol' ekleyin
};

Bu, tüm modülleri gösterir, özellikle pratik değildir, ancak umarım nasıl kullanılacağına dair temel bir fikir edinirsiniz. tags bölümünde özel etiketlerinizi oluşturursunuz ve ardından kullanmak istediğiniz her modül için ayrı yapılandırma blokları eklersiniz. Yalnızca istediğiniz modülleri kullanmanız yeterli, muhtemelen hepsini burada istemiyorsunuz ve kesinlikle olduğu gibi kullanmak da istemiyorsunuz.

Daha pratik bir örnek için, kendiniz ayarlamadığınızda betiğin dahili olarak kullandığı varsayılan yapılandırma şudur:

window.UserTagsJS = {
	modules: {},
	tags: {}
};
UserTagsJS.modules.inactive = 30;
UserTagsJS.modules.newuser = true;
UserTagsJS.modules.autoconfirmed = true;
UserTagsJS.modules.mwGroups = ['bureaucrat', 'threadmoderator', 'patroller', 'rollback', 'sysop', 'bot', 'bot-global'];
UserTagsJS.modules.metafilter = {
	sysop: ['bureaucrat', 'founder'],
	bureaucrat: ['founder'],
	threadmoderator: ['sysop', 'bureaucrat']
};

Lütfen bu varsayılan yapılandırmanın yalnızca ayarları verilmediğinde kullanıldığını unutmayın. Bu bloğun tamamını MediaWiki:Common.js dosyanızda kopyalamanız ve ardından ekstra modül girişleri ekleyip kaldırarak ve gerektiğinde yeni etiketler oluşturarak onu buradan özelleştirmeniz şiddetle tavsiye edilir.

İzlenecek yol[]

İzlenecek yol için size aşağıdaki resimde gösterilen etiketlerin nasıl oluşturulacağını göstereceğim:

UserBadges Example

Bu resimde "JavaScript", "CSS" ve "Templates" olmak üzere 3 özel etiket ve 2 MediaWiki grubu vardır: "sysop" ve "bureaucrat". Ayrıca sıraya dikkat edin: "Hizmetli" etiketi başlangıçta, ardından "Bürokrat" vb.

betiğini yapılandırarak başlayacağız ve renkleri daha sonra ekleyeceğiz. İlk adım, özel grupları ve etiketleri oluşturmaktır:

window.UserTagsJS = {
	modules: {},
	tags: {
		jshelper: { u: 'JavaScript' },
		csshelper: { u: 'CSS' },
		templatehelper: { u: 'Templates' }
	}
};

Oldukça basit, seçtiğim grup adları isteğe bağlı, istediğiniz herhangi bir düz İngilizce adı kullanabilirsiniz (harfler A-Z a-z 0-9), ancak büyük harfleri karıştırırsanız büyük/küçük harf duyarlı olduğunu hatırlamanız gerekir. Boşluk veya tire kullanmaya çalışırsanız, çalışması için adı tırnak içine almanız gerekir. Bu yeterli değil, ayrıca etiketlerin de belirli bir sıra olmasını istiyoruz, bu yüzden order parametreleri eklememiz gerekecek:

window.UserTagsJS = {
	modules: {},
	tags: {
		jshelper: { u: 'JavaScript', order: 100 },
		csshelper: { u: 'CSS', order: 101 },
		templatehelper: { u: 'Templates', order: 102 },
		bureaucrat: { order: 1 } // Normal sıralama 0'dır
	}
};

Bu, tüm etiketleri resimde gösterilen sıraya göre yerleştirecektir, fark edeceksiniz ki bureaucrat grubu için bir kısmi etiketi ekledim, bunun nedeni bureaucrat yerleşik bir gruptur, bu nedenle değiştirmem gerekmeyen metin çevirileri zaten var. Tüm MediaWiki gruplarında olduğu gibi, sırası varsayılan olarak sıfır olduğundan sysop grubu için hiçbir şey yapmama gerek yok. Etiketlerin en küçükten (başlangıç) en büyüğe (bitiş) verilen order değerlerine göre sıralandığını unutmayın. Seçtiğim sayılar rastgele, her etiketin farklı bir numarası olduğu sürece gerçekten önemli değil; aynı order numarasına sahip etiketler rastgele [farklı order değerlerine sahip diğer etiketlere göre doğru yerde olacaklar, ancak rastgele olacaklar aynı order] paylaşan etiketlerle ilgili olarak. Yararlı bulabileceğiniz birkaç özel numara da vardır:

Sayı Önem
0 Bu değere sahip etiketler genellikle başlangıca yakın olacaktır. Tüm MediaWiki grup etiketleri varsayılan olarak bu değeri paylaşır. Aynı sırayı paylaşan etiketlerin birbirine göre rastgele düzenleneceğini unutmayın.
1e100 10100. Bu, etiketler için varsayılan değerdir, açıkçası oldukça büyüktür, bu nedenle, 10101 sıraları olan newuser/nonuser/notautoconfirmed grupları için etiketler dışında, sırasız etiketler genellikle sonunda biter.
1/0 Pozitif sonsuzluk. Bu mümkün olan en büyük değerdir. Bu değere sahip tüm etiketler her zaman mutlak sonda olacaktır. inactive varsayılan olarak bu değeri kullanır.
-1/0 Negatif sonsuzluk. Bu mümkün olan en küçük değerdir. Bu değere sahip etiketler, kara listeye alınmış etiketler dışında en başta olacaktır.

Artık gruplarımızı ve etiketlerimizi doğru bir şekilde ayarladığımıza göre, onları fiilen kullanma aşamasına geçebiliriz. Özel gruplarımızı/etiketlerimizi kullanmak için açıkça Özel modülünü kullanmamız gerekiyor, bu yüzden onu şimdi ayarlayacağız:

UserTagsJS.modules.custom = {
	'Lunarity': ['csshelper', 'templatehelper', 'jshelper'] // NOT: burada liste sırası önemli DEĞİLDİR
};

Özel modülün açıklamasını okuduysanız, bunun seçilen kullanıcıya 3 grup eklediğini görebilirsiniz. Çok zor değil, birden fazla kullanıcıya grup eklemek isteseydik, daha fazlasını listeleyebilirdik.

Artık yolun yarısındayız, yalnızca Bureaucrat ve Admin etiketlerini eklememiz gerekiyor. Bunu yapmak için MediaWiki Grupları modülünü kullanacağız. MediaWiki Grupları, sunucudan kullanıcı gruplarını otomatik olarak ister, böylece sıkıcı bir zaman kaybı olacak şekilde özel listelerde her bir kullanıcının grubunu manuel olarak doldurmamız gerekmez.

UserTagsJS.modules.mwGroups = ['bureaucrat', 'sysop'];

Oldukça basit gerçekten. Betik şimdi sunucudan kullanıcının grup üyeliklerini soracak ve sunucu kullanıcının üye olduğunu söylüyorsa otomatik olarak "bureaucrat" ve "sysop" grupları ekleyecektir. [Ayrıca, sunucudan bureaucrat ve sysop etiketleri için metin çevirilerini de örtük olarak alır, dahili varsayılan metnin geldiği yer burasıdır]

Son olarak, renkleri resimde gördüğümüzle eşleşecek şekilde ayarlamamız gerekiyor. Bunu yapmak için MediaWiki:Common.css içinde birkaç özel CSS kuralı oluşturacağız. Kullanıcı arabirimindeki her etiketin, onu oluşturan gruba dayalı bir CSS sınıfı vardır; örneğin, "Bureaucrat" etiketinin bir usergroup-bureaucrat CSS sınıfı vardır. Özel etiketlerimiz için CSS sınıfları usergroup-jshelper, usergroup-csshelper, usergroup-templatehelper olacaktır.

.user-identity-header__tag.usergroup-jshelper {
	background-color: #720 !important;
}
.user-identity-header__tag.usergroup-csshelper {
	background-color: green !important;
}
.user-identity-header__tag.usergroup-templatehelper {
	background-color: yellow !important;
	color: black !important;
}

Ve işimiz bitti.

MediaWiki:Common.js içindeki son JavaScript şuna benzer:

window.UserTagsJS = {
	modules: {},
	tags: {
		jshelper: { u: 'JavaScript', order: 100 },
		csshelper: { u: 'CSS', order: 101 },
		templatehelper: { u: 'Templates', order: 102 },
		bureaucrat: { order: 1 }
	}
};
UserTagsJS.modules.custom = {
	'Lunarity': ['csshelper', 'templatehelper', 'jshelper'] // NOT: burada liste sırası önemli DEĞİLDİR
};
UserTagsJS.modules.mwGroups = ['bureaucrat', 'sysop'];

Tabii ki, muhtemelen Aktif Olmayan Kullanıcılar ve diğer birkaç modülü de etkinleştirmek istersiniz.

Oasis Kullanıcı Kartını Yeniden Şekillendirme[]

UserTags CSS Example

Yukarıdaki resim aşağıdaki yapılandırmayı kullandı:

window.UserTagsJS = {
	modules: {},
	tags: {
		a: { u: 'Test Tag 1', order:1 },
		b: { u: 'Test Tag 2', order:2 },
		c: { u: 'Test Tag 3', order:3 },
		d: { u: 'Test Tag 4', order:4 },
		e: { u: 'Test Tag 5', order:5 }
	},
	oasisPlaceBefore: '> h1'
};
UserTagsJS.modules.custom = {
	'Lunarity': ['a', 'b', 'c', 'd', 'e', 'inactive']
};

Görünüm, aşağıdaki CSS kuralları kullanılarak oluşturulmuştur:

.tag-container {
	display: block;
	background-image: url("https://images.wikia.nocookie.net/railgunscript/images/e/e8/Railgun_Top_Bar.png");
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	border-radius: 5px 5px 0 0;
}
.tag-container > .tag {
	background: rgba(0,0,0,0.6) !important;
}
.UserProfileMasthead .masthead-info hgroup {
	padding-top: 20px;
	background: rgba(32,64,150,0.66);
	background-image: linear-gradient(to top left, rgba(0,0,0,0.5) 0%, rgba(140,140,141,0.8) 100%);
}
.UserProfileMasthead .masthead-info {
	background: url("https://images.wikia.com/railgunscript/images/c/cb/Seamless-space.jpg") 0 20% black;
	color: white;
}
.UserProfileMasthead .tally {
	border-radius: 10px;
	background: rgba(0,0,0,0.5);
	padding: 3px 1em;
}
.UserProfileMasthead .masthead-info-lower:before {
	border-color: rgba(0,0,0,0.7) rgba(0,0,0,0.7) transparent transparent;
}
#WikiaUserPagesHeader {
	background-image: linear-gradient(to bottom, white 0%, #888 25%, black 75%);
}

Tam Grup Listesi[]

Metni değiştirmek veya özel bir grup için önceden kullanılmış bir adı yanlışlıkla seçmekten kaçınmak istiyorsanız, referans için tüm yerleşik grupların listesi aşağıdadır:

  • inactive
  • nonuser
  • newuser
  • notautoconfirmed
  • founder
  • staff
  • soap
  • patroller
  • rollback
  • sysop
  • bureaucrat
  • bot-global

Aşağıdaki MediaWiki gruplarının da var olduğu bilinmektedir, bu nedenle, etiketlerin onlar için söylediklerini kasıtlı olarak değiştirmeye çalışmadığınız sürece, muhtemelen bunlardan da kaçınmak istersiniz:

  • autoconfirmed
  • emailconfirmed
  • user
  • bot
  • checkuser
  • util

mwGroups modülü bunları aramak için yapılandırılmadıkça, bu ikinci listedeki tüm grupların varsayılan metnine sahip olmadığını unutmayın. MediaWiki Grupları modülü yalnızca istek üzerine etiket metnini indirecektir; aksi takdirde, yalnızca ilk listedeki gruplar için varsayılan metin size sunulacaktır.

Sınırlamalar[]

Fandom tarafından oluşturulan bazı etiketler korunur, aşağıdaki gruplar herhangi bir kullanıcıdan eklenemez veya kaldırılamaz.

  • staff — Staff
  • soap — SOAP

Bu gruplar için etiketler her zaman tutulacak ve her zaman satırın başında bırakılacaktır; ancak, bu gruplar için etiketleri bağlantılara dönüştürebilir ve bunlara normal şekilde fareyle üzerine gelme metni ekleyebilirsiniz, yalnızca yüz metnini değiştirmek ve sıralama sınırlandırılmıştır.

"Kurucu", "Hizmetli", "Engellendi", vb. gibi Fandom tarafından oluşturulan diğer tüm etiketler normal şekilde manipüle edilebilir.

Yukarıdaki korumalı grupların etiketlerindeki yüz metnini değiştirmek için, onlar için metin çeviri verilerini içeren sunucudaki MediaWiki mesajlarını düzenleyebilirsiniz. Bu mesajlar burada bulunabilir:

  • MediaWiki:Userprofile-global-tag-staff
  • MediaWiki:Userprofile-global-tag-soap

Lütfen bunları düzenlerken dikkatli olun ve sağduyulu davranın; Personel ve SOAP üyelerinin bulunmasını ve tanınmasını kolaylaştırmak için varlar, etiketlerin söylediklerini değiştirmek vikiye aşina olmayan insanlar için bunu daha zor ve kafa karıştırıcı hâle getirecek.

NOT: UserTags'in dahili bir önbelleği vardır, yukarıdaki kimlik gruplarında yapılan herhangi bir değişikliğin gerçekten görünmesi 1 saat kadar sürebilir. Önbellek temizlenene kadar Personel etiketi bağlantısının hiç çalışmaması gibi hatalar da olabilir. Önbellek localStorage'da, çerezlerinizi temizleyerek onu silinmeye zorlayabilirsiniz; gerçi bu tavsiye edilmez.

Advertisement