This page, or parts of it, are still untranslated. Please translate it to the appropriate language (中文(繁體)).
用戶標籤(UserTags)是一個在用戶檔案上能夠新增、移除、修改與重新排列標籤的腳本(「創始人」、 「管理員」、 「封禁」等出現在用戶全局檔案中用戶名旁邊的標籤)。 除了Fandom本身的預設標籤之外,它允許您能根據需要來自行新增、移除與重新排列標籤。您也可以在認為合適的情況下自行發明客製化標籤並授予給用戶。
這個腳本同時結合了休假中用戶與用戶勳章的功能-因此您只需要使用其中一個腳本以避免發生任何的腳本衝突。用戶標籤是一個最新的腳本且擁有最多的功能與自定義選項。
參見訊息牆用戶標籤查看論壇(並非指討論版)與訊息牆的「標籤」信息。
安裝方法[]
添加以下程式碼至個別維基的MediaWiki:ImportJS頁面:
dev:UserTags/code.js
然後,您還需要添加以下CSS至MediaWiki:Common.css:
a.tag {
color: inherit;
}
最後,添加此CSS至MediaWiki:Monobook.css:
.tag:before {
content: '['
}
.tag:after {
content: ']'
}
.tag {
font-size: 10pt;
vertical-align: middle;
}
.tag-container > .tag:first-child {
margin-left: 1ex;
}
完成以上程序後,基本的功能就大致構建完成了;然而,如果您想要自訂標籤,那麼請繼續瀏覽以下配置部分。
配置[]
這個腳本擁有大量的功能,因此以下解說的部分將有點冗長。您不需要瀏覽全部;事實上有些沒有要使用到的功能是可以忽略的 。您可以會想略過以下所有的例子說明,然後回到核心配置部分來瀏覽閱讀。
核心配置[]
添加以下程式碼至Common.js: (來源)
window.UserTagsJS = {
modules: {},
tags: {},
oasisPlaceBefore: ''
};
有一件事您必須的事是用戶是被劃分在不同的用戶組別裡,像是「封禁」、「管理員」、「行政員」或「休假中」等組別。這些組別在系統裡是以內部名稱來使用,因此在最後它們必須顯示在屏幕上,若要做到這一點,我們需要將這些內部名稱轉換為標籤使用。因為標籤說明了在屏幕背後所實際呈現的內容。
讓我們舉一個簡單的例子,我們假設您想要創建三個新標籤:「Editor of the Month」、「Featured」與「Template Guru」。要做到這一點,我們需要創建「montheditor」、「featured」與「template」組別。
window.UserTagsJS = {
modules: {},
tags: {
// 內部用戶權限名稱: { 外部標籤文字顯示 }
montheditor: { u:'Editor of the Month' },
featured: { u:'Featured' },
templates: { u:'Templates Guru' }
}
};
一般而言,當您在創建新的組別與標籤時,這樣設定就已經足夠了,除了這個設定的預設是將標籤置於用戶檔案的最尾端。當您反而想要將這些標籤置於最前端時,您需要控制它的順序(order),因此您需要使用order配置選項。
window.UserTagsJS = {
modules: {},
tags: {
montheditor: { u:'Editor of the Month', order:-1/0 },
featured: 'Featured',
templates: 'Templates Guru'
}
};
這個order參數是一個從負無限大到正無限大之間的數值,較小的數字較接近初始值。在這個情況下,-1/0是一個負無限大的數值,因此此時標籤就會置於最前端。
您可以使用以下的任何參數來設計您的標籤:
| 參數 | 說明 | 類型 | 默認值 |
|---|---|---|---|
u
|
這個文本顯示當〔被標籤〕的用戶是一個未知姓別(即沒有在選項中設定性別)。 | 文本 | 依需求設定 |
m
|
這個文本顯示當〔被標籤〕的用戶是一位男性 | 文本 | 如果設定被移除, 就會以u值取代。
|
f
|
這個文本顯示當〔被標籤〕的用戶是一位女性 | 文本 | 如果設定被移除, 就會以u值取代。
|
order
|
控制整個標籤的順序。數字較小的會將標籤置於最前端而數字較大的則置於最尾端。 | 數值 | 10100 |
link
|
允許您可以為標籤添加連結至頁面或維基或互聯網上的任何網站。它可以接受一般的維基連結像是「Project:Administrators」或完整的URL像是「http://www.google.com/」。 若沒有設定,標籤則會顯示為純文本。請注意Fandom以外的跨維基連結(像是「Wikipedia:Computer」)是不會運作,請使用完整的http://URL來替代。 | 文本 | 無 |
title
|
這個文本是用來設置當用戶的游標懸停在標籤上時的顯示方式。 | 文本 | 無 |
上述提及到的男性/女性/未設定的變數能支援英語以外的語言,像是義大利文,對男性/女性方面有不同的名稱來稱呼,在英文,或其它沒有區分性別的語言(即我們中文),您只能使用u(未知)欄位。
覆蓋現有的標籤[]
有時候,現有存在的標籤可能無法滿足您的需要;也許您想要變更文字、控制或者為標籤添加一個連結。您可以簡單地在現有的用戶組別自訂您的標籤:
window.UserTagsJS = {
modules: {},
tags: {
bureaucrat: { u:'Bureaucrat Tag', link:'Project:Bureaucrats' },
inactive: { u: 'Has not edited recently' }
}
};
設定完成後,系統會將行政員標籤由「Bureaucrat」顯示為「Bureaucrat Tag」並添加一個連結至Project:Bureaucrats頁面,休假中標籤則由「Inactive」顯示為「Has not edited recently」。另外,有時您可能希望只添加連結但不變更文字,您也可以這樣做:
window.UserTagsJS = {
modules: {},
tags: {
bureaucrat: { link:'Project:Bureaucrats', order:1e101 }
}
};
完成後,系統會為行政員標籤添加一個連結並且將標籤至於最尾端但不會變更文字。【注意:不變更文字的情況僅適用於內建的用戶組別;對於由自己創建的組別,是無法在標籤上指定文字的】
疑難雜症:若內建的用戶組別含有連字號(-),此時您必須在組別名稱前後以引號(')括起來,這樣系統才會執行:
window.UserTagsJS = {
modules: {},
tags: {
// 這是錯誤示範,系統將不會執行
bot-global: { link:'Project:Bots' }
// 這樣才是正確的
'bot-global': { link: 'Project:Bots' }
}
};
打造樣式/外觀[]
這個腳本是設計用來使標籤更容易製作成不同的外觀,每個標籤在內建組別上都有其CSS class為根本並且以'usergroup-'作為開頭。比方說:行政員(Bureaucrat)標籤有其CSS class usergroup-bureaucrat、休假中(Inactive)標籤也有其usergroup-inactive class等等。您自訂的標籤也會有其選定的組別,例如「Editor of the Month」其根本就來自於CSS class的usergroup-montheditor。
若要更改顏色或外觀,只需簡單地添加以下程式碼規則至MediaWiki:Common.css,即如下所示:
.tag.usergroup-bureaucrat {
background-color: gold !important;
color: black !important;
}
.tag.usergroup-featured {
background-color: blue !important;
color: white !important;
}
完成之後,系統會將行政員標籤顯示為金色、自訂的精選用戶標籤則會顯示為藍色。您可以依需要自行添加任何CSS指令,包括邊框、添加背景圖案等等。
.tag.usergroup-bureaucrat {
/* 此自訂標籤會顯示為紅色邊框與自訂背景 */
background-image: url("http://site.com/image.png");
border: 3px red solid;
border-radius: 0;
}
.tag.usergroup-featured:before {
/* 於「Feautured」標籤之前新增圖案 */
content: url("http://site.com/magnifying-glass.gif");
}
有一件事要注意的是,內建組別的名稱會被簡化為英文,如果您的組別含有「asd%$ü@xyzüü」等非英文字母,那麼最後您必須將組別名稱全數替換為英文,即usergroup-asdxyz。但除非必要,否則一般是不會添加非英文的字母,因為這些字符無法被其他維基的用戶看見。
所有由用戶標籤腳本製作或管理的標籤,其tag-container CSS class皆含有span元素。因此您可以運用這個原理將tag-container設定為display: block,這樣就可以把所有的標籤移動到新的一行了(預設的標籤是顯示與用戶名同一行)。具體的效果可以查看例子部分。
最後,用戶檔案中每一行的第一個標籤都有其專屬的CSS class。舉例來說,若bureaucrat(行政員)的標籤位於該行的最前端(即為第一個標籤),那麼您會在#UserProfileMasthead看到'usergroup-bureaucrat'的附屬標籤。您可以運用這個原理來為標籤更換不同顏色或者添加背景圖片。要注意在預設情況下,Fandom的標籤會從該行的最前端開始排列,但其它有些鎖起來的標籤(特別是職員標籤),是無法移動標籤的位置的。這意味著擁有職員權限的用戶是由'usergroup-staff'來控制管理的(即使他們可能同時擁有本地管理員權限)。
控制標籤的位置[]
在腳本的程式碼中,oasisPlaceBefore選項允許用戶可以控制標籤在Oasis版面的定位。預設情況下,它們通常會被放在內建標籤之後,但是您還是可以透過特定的CSS(jQuery)選擇器來變更標籤的位置。舉例來說,如果您想要將標籤放在Hi(用戶名)之後但是在H2(暱稱)之前,那麼您需要複製以下程式碼:
window.UserTagsJS = {
modules: {},
tags: {},
oasisPlaceBefore: '> h2' // Place tags before the H2
};
配置[]
現在您已經領略了基本的概念,我們可以開始進行實際操作的階段了。這個腳本被分成好幾個模組,每個模組皆能單獨的開啟或關閉。您不需要閱讀以下所有的說明,您可能會想略過舉例的部分然後回到這裡選擇想要設定的模組。
以下列出了內建的模組以及其配置選項。有關創建自訂的模組是有可能實現的,或者您也可以額外導入由其它開發者創建的模組。如果您想要使用其它用戶撰寫的第三方模組,那麼您需要閱讀以下由該開發者所提供的相關文檔。
休假中(不活躍)[]
Enabled by default: 是
Default value: 30
Associated Group/Tag: 休假中
Works with Anonymous Users: 是
本模組會新增休假中組別至配置間隔內沒有任何編輯的用戶,您需要輸入一組數字(這組數字即代表天數)來指定用戶在間隔多少天沒編輯會被系統視為休假中。
UserTagsJS.modules.inactive = 50; // 50 天
若您需要一套更嚴謹的條件,那麼您可以利用命名空間來過濾編輯。舉例來說。如果您只考慮編輯條目的用戶視為活躍,而其它皆視為休假中(即使有用戶在近期有編輯過討論頁或其它命名空間,但只要沒有編輯條目皆會被系統視為休假中),那麼您可以將配置的格式替換為以下的形式:
UserTagsJS.modules.inactive = {
days: 30,
namespaces: [0],
zeroIsInactive: true // 條目編輯次數為0 = 休假中
};
0代表條目的命名空間。此命名空間可以擁有不同的變數值,也可以只輸入該命名空間的名稱(即不輸入任何前綴),舉例來說:
UserTagsJS.modules.inactive = {
days: 30,
namespaces: [0, 'Talk', 'User talk', 'Forum'] // Edits must be to articles or talk pages or user talk pages or the forum to count, others don't count
};
MediaWiki用戶組別[]
Enabled by default: Yes
Default value: ['禁止聊天', '封禁', '機器人', '行政員', '聊天主持人', '用戶查核', '內容版主', '委員', 助手', '回退員', '職員', '管理員', '討論版主', '先鋒', '反破壞小組']
Associated Group/Tag: 根據您所提供的組別來排列
Works with Anonymous Users: 否
本模組會新增用戶的MediaWiki組別至內建的組別列表,並且自動從伺服器下載標籤文本的翻譯至那些用戶組別中。本模組用來處理正式的用戶組別,例如聊天主持人, 行政員, 管理員, 禁止聊天、回退員等。完整的列表可參見Special:ListUsers。
您可以使用本模組來控制想要顯示的用戶組別:
UserTagsJS.modules.mwGroups = ['bureaucrat', 'sysop', 'rollback'];
沒有編輯的全局帳戶[]
Enabled by default: 否
Associated Group/Tag: nonuser
Works with Anonymous Users: 是
這個模組會為零編輯的用戶添加標籤。對於使用Oasis版面的用戶而言效果並沒有很顯著,因為您可以直接在用戶的全局檔案上看見該用戶的編輯次數。但對於使用Monobook的用戶而言效果就會很顯著。這個模組沒有任何的配置選項,如果需要的話,只需要開啟它即可:
UserTagsJS.modules.nonuser = true; // Switch on
對於更有經驗的用戶而言,如果想要開啟它,您只需要以定制化JavaSciprt的邏輯來思考就能運用自如,但僅限於Monobook版面:
UserTagsJS.modules.nonuser = (mediaWiki.config.get('skin') === 'monobook');
新註冊的帳戶[]
Enabled by default: 是
Associated Group/Tag: notautoconfirmed
Works with Anonymous Users: 否
這個模組會為最近創建但沒有編輯的新帳戶添加標籤; 也就是說, 註冊未滿4天且在任一維基未達10次編輯用戶會有此標籤。若要辨識魁儡帳戶,這個模組可能會很有幫助且能迅速辨認出來。如果需要的話,只需要開啟它即可。
UserTagsJS.modules.autoconfirmed = true; // Switch on
注意編輯次數與註冊時間的長度並非由模組本身來決定,而是由Fandom來控制決定的,因此我們無法自己控制這些設定。
新編輯者[]
Enabled by default: 是
Default value: { days: 4, edits: 10 }
Associated Group/Tag: newuser
Works with Anonymous Users: 否
本模組會在您的維基上根據設定的編輯天數或編輯次數來給予用戶標籤。基本上與autoconfirmed模組的功能相同,唯本模組僅在單一維基生效(即每個維基需單獨設定)。對於辨識出傀儡帳戶可能會很有用,也能較容易辨認出一些待在維基上有一段時間但對該維基的規範不太熟悉得新手編輯者。若要進行配置,您可以設定以下這些欄位,如果想使用預設值,請將該欄保留為空白:
UserTagsJS.modules.newuser = {
days: 5, // 須參與維基5天
edits: 10, // 而且必須擁有10次編輯才會移除標籤
namespace: 0 // 編輯必須在條目命名空間內才列入計算
};
以下參數分為:
| 參數 | 說明 | 類型 | 默認值 |
|---|---|---|---|
days
|
輸入天數,從首次編輯的當天開始計算,設定標籤在幾天後自動移除 | 數字 | 4 |
edits
|
幾天後自動移除
輸入編輯次數,設定用戶需編輯幾次才能移除標籤 |
數字 | 10 |
namespace
|
輸入命名空間編號。將該欄設置為0會使系統只將條目命名空間列入計算(不將在沙盒、用戶頁面、用戶談話頁、頁面評論區、訊息牆等命名空間的編輯列入計算)。 | 數字 | 所有命名空間 |
本模板也支援更高級的格式,在合理的情況下,它允許用戶能根據自己的邏輯來自行定義。但基本
上您需要對JavaScript有初步的了解才能使用。它也讓您自訂複雜的算式,例如少於3天或小於10次編輯
或(小於30次編輯且少於5天)。
UserTagsJS.modules.newuser = {
namespace: 0, // [Optional] 編輯需在條目命名空間內才列入計算
computation: function(days, edits) {
// 若該算式為真,則他們會被標記為新用戶
// 若該算式不為真,則他們不會被標記
// 舉例來說,當他們擁有30次編輯,或他們已經參與維基10天,newuser標籤就會被移除 (以先發生的為主)
return days < 10 && edits < 30;
}
};
這裡的命名空間參數與第一個語法相同。注意此時days與edits參數並不會執行,原因是它們只能在沒有定義任何計算功能的情況下才會執行。
沒有定義任何計算功能的情況下才會執行。
自定義[]
Enabled by default: 否
Associated Group/Tag: 根據您所創建的自定義用戶組
Works with Anonymous Users: 是
本模組能讓您在用戶的全局檔案上添加自定義標籤。關於自定義的創建方法已經在核心配置段落加以說明。如果需要,您也可以添加內建的用戶組;例如您可以為用戶添加inactive(休假中)標籤作為自定義用戶組。您也可以做一些怪異的動作例如為用戶添加假的founder(創始人)或bureaucrat(行政員)用戶組,讓用戶以為自己就是創始人或行政員。本模組的配置步驟稍微複雜一些,它映射出用戶的名字來排列用戶組。
UserTagsJS.modules.custom = {
'用戶名1': ['montheditor', 'featured'], // 添加Add Editor of the Month + Featured組別
'用戶名2': ['featured'], // 添加featured組別
'用戶名3': ['featured', 'templates'], // 添加featured + templates guru組別
'用戶名4': ['inactive'] // 總是不活躍
};
注意在這個列表中組別的order(控制)並不會影響到組別標籤在螢幕上顯示出來的內容,僅對標籤的控制參數有關聯。
用戶篩選器[]
Enabled by default: 否
Associated Group/Tag: N/A,在這裡是移除而不是添加用戶組
Works with Anonymous Users: 是
本模組會向所指定的用戶移除用戶組別,像是假如你想要在某人身上移除founder(創始人)標籤,或者是您已經開啟inavtive(休假中)模組,但你不想要在特定的用戶上顯示這個標籤(儘管他符合休假中的條件)。這個格式與上面的客製化相同,只是它的效果剛好是相反的(客製化是添加用戶組;用戶過濾器則是移除用戶組)
UserTagsJS.modules.userfilter = {
'用戶名1': ['inactive'], // 移除休假中組別
'用戶名2': ['founder'], // 移除創始人組別
'用戶名3': ['nonuser', 'newuser', 'inactive']
};
元素篩選器[]
Enabled by default: 是
Default value: { sysop: ['bureaucrat', 'founder'], bureaucrat: ['founder'] }
Associated Group/Tag: N/A,在這裡是移除而不是添加用戶組
Works with Anonymous Users: Yes
元素篩選器是更進階的用戶過濾器版本,除了操控用戶名之外,它也操控用戶組。這個格式 雖然不同,但在某些方面上仍然與用戶篩選器類似,只是影響的範圍更廣。
UserTagsJS.modules.metafilter = {
'inactive': ['sysop', 'bureaucrat'], // 從擁有行政員與管理員組別的用戶移除休假中組別(儘管用戶符合休假中的條件)
'sysop': ['bureaucrat'], // 從擁有行政員組別的用戶移除「管理員」標籤
// 從管理員及同時擁有巡查員與回退員組別的用戶移除聊天主持人組別
'threadmoderator': ['sysop', ['patroller', 'rollback']]
};
集合(合併)[]
Enabled by default: 否
Associated Group/Tag: 根據您所指定的
Works with Anonymous Users: 是
本模組允許您能將多個所指定的組別合併成一個組別。例如將bureaucrat(行政員)與inactive(休假中)的組別合併成「inactive-bureaucrat(不活躍的行政員)」組別,或者將threadmoderator(聊天主持人)與patroller(巡邏員)合併成「半管理員」或任何您想要取的名稱。
UserTagsJS.modules.implode = {
'inactive-bureaucrat': ['bureaucrat', 'inactive'], // 添加inactive-bureaucrat組別,但同時移除bureaucrat與inactive的組別。
// 即將bureaucrat與inactive替換為 「inactive-bureaucrat」
'inactive-sysop': ['sysop', 'inactive'],
'half-sysop': ['threadmoderator', 'patroller', 'rollback']
};
如您所見,這個格式基本上與上文的元素過濾器相同,只是方式相反。
集合[]
Enabled by default: No
Associated Group/Tag: As specified by you
Works with Anonymous Users: Yes
本模組與上文的集合相同,但沒有合併的功能。也就是說,您合併成一個組別,但原本的組別並不會被移除。
UserTagsJS.modules.explode = {
'vandal-patrol': ['rollback', 'patroller'] // 新增「vandal-patrol」組別,但同時並不會移除 rollback或patroller的組別。
};
當被封鎖時隱藏所有組別[]
Enabled by default: 強制執行
Associated Group/Tag: N/A,在這裡為移除而非添加
Works with Anonymous Users: 是
本模組會將被封鎖用戶的組別全數移除,僅留下blocked組別。因本模組是預設強制開啟,除非您想要關閉它。一般來說若沒關閉它,那麼系統將不會對被封鎖的用戶標記為休假中或新編輯者(即使他們在被封禁前並沒有太多的編輯次數)。
UserTagsJS.modules.stopblocked = false; // 手動關閉
該用戶是否被封鎖?[]
Enabled by default: 強制執行(僅限Monobook)、關閉(僅限Oasis)
Associated Group/Tag: N/A,在這裡為移除而非添加
Works with Anonymous Users: 是
本模組會檢測該用戶是否被封鎖。由於Oasis已經自動在用戶全域檔案上顯示封禁標籤,因此使用Oasis的用戶不需要使用該本模組;因此本模組僅對使用Monobook的用戶特別有效。本模組在Monobook是預設強制開啟的,除非您選擇以手動關閉它。
UserTagsJS.modules.isblocked = true; // 於Oasis版面開啟(一般來說不太需要開啟); 或
UserTagsJS.modules.isblocked = false; // 於Monobbok版面關閉 (不影響Oasis)
Oasis標籤[]
本模組已經存在,但無法讓用戶進行配置。在這裡我們僅解釋此腳本對本模組的影響。
本模組的功能是讀取Oasis(Fandom生成的)標籤並解釋其意思(例如「blocked」,以及預設的「sysop」、 「staff」、「soap」等預設權限)。 這些皆從Oasis與Monobook的user-identity-box-group- 訊息中獲取。目的是為了方便在內建權限中應用custom模組等等。
例子[]
// 核心配置,我們添加了兩個自定義標籤並變更了內建的管理員標籤名稱。
window.UserTagsJS = {
modules: {},
tags: {
hello: { m: '男性', f:'女性', u: '無設置性別', order: -1/0, link:'http://en.wikipedia.org/wiki/Gender' },
muckraker: '醜聞揭發人',
sysop: { u:'管你人', link:'Project:Administrators' }, // 將「管理員」變更為「管你人」
'mini-sysop': { u: '半管理員', link:'Project:HalfAdmins' },
'vandal-patrol': { u: '反破壞清理人員', link:'Project:Janitors' }
}
};
// 對一些用戶添加自定義組別
UserTagsJS.modules.custom = {
'John Doe': ['muckraker', 'hello'],
'Someone': ['hello'],
'You': ['inactive'], // 強制顯示休假中組別而不是仰賴休假中模組
'Other User': ['hello', 'muckraker']
};
UserTagsJS.modules.autoconfirmed = true;
UserTagsJS.modules.newuser = true;
UserTagsJS.modules.inactive = 35; // 如果超過35天未編輯則標記為休假中
UserTagsJS.modules.mwGroups = ['bureaucrat']; // 為bureaucrat添加bureaucrat標籤
UserTagsJS.modules.metafilter = {
sysop: ['bureaucrat'], // 從bureaucrat的用戶中移除sysop標籤
hello: ['muckraker'], // 從muckraker的用戶中移除hello標籤
'vandal-patrol': ['mini-sysop'] // 從mini-sysops的用戶中移除vandal-patrol標籤
};
UserTagsJS.modules.userfilter = {
'John Smith': ['inactive'] // 移除John Smith的休假中標籤,儘管他符合
};
UserTagsJS.modules.implode = {
'mini-sysop': ['patroller', 'rollback', 'threadmoderator'] // 移除patroller、rollback與threadmoderator,如果以上三個皆存在,則全部替換為'mini-sysop'
};
UserTagsJS.modules.explode = {
'vandal-patrol': ['patroller', 'rollback'] // 對同時擁有patroller與rollback組別的用戶添加'vandal-patrol'組別
};
這個例子涵蓋了所有模組,雖然這並不是很實用,但希望您能先熟悉它的用法。您可以在tags中創造您的自定義標籤然後在下方使用想要的篩選器配置選項。
有關更多實際的例子,這裡是腳本內預設的選項,如果您不想要使用配置選項,系統就會運行以下的程式碼:
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']
};
請記住這個預設的配置選項只有在沒有進行額外的配置時才會生效。我們強力推薦您複製以上程式碼至您的維基的 MediaWiki:Common.js 並且在從中進行自訂的動作,然後根據上面的配置選項來進行添加或移除多餘的模組行列。
演練[]
在演練段落中,我將會向您展示如何像下圖一樣創建標籤:
在這張圖片中,有3個自定義標籤,分別是「JavaScript」、「CSS」與「Templates」以及兩個原有的 MediaWiki 組別「sysop" 與「bureaucrat」。除此之外我們控制:從「Administrator」標籤開始,然後「Bureaucrat」等等。
我們要開始配置腳本了,顏色部分先擱著。第一步我們要創建自定義「內部組別名稱」與「外部標籤顯示名稱」:
window.UserTagsJS = {
modules: {},
tags: {
jshelper: { u: 'JavaScript' },
csshelper: { u: 'CSS' },
templatehelper: { u: 'Templates' }
}
};
改造Oasis全域用戶檔案[]
上圖的效果採用以下配置:
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']
};
再用以下的CSS規則更改外觀:
.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%);
}
用戶組別一覽[]
以下是所有FANDOM內建的用戶組別。如果您希望更改文字或避免自定義組別不小心與之重疊,可以當作參考:
inactivenonusernewusernotautoconfirmedfounderstaffsoappatrollerrollbacksysopbureaucratbot-global
以下的MediaWiki組別也存在。除非有意更改文字,不然您可能也會想避免重疊:
autoconfirmedemailconfirmeduserbotcheckuserutil
注意第二個列表內的組別沒有預設外部標籤文字,除非您有設置mwGroups模組來查看。這些MediaWiki群組模組只有需要的時候才能下載外部標籤文字,一般來說只有第一個列表內的組別會顯示。
限制[]
有些FANDOM生成的標籤會受到保護,例如下列的組別即無法從任何用戶中添加/移除。
staff— Fandom Staffsoap— Spam Obliteration and Prevention
無論如何,這些組別的標籤一定會顯示,且會放在第一個位置;不過您還是可以為標籤加入鏈接或懸停文字,只是無法變更標籤文字和位置。
其它的FANDOM生成標籤像是「Founder」「Admin」「Blocked」等仍可自由調整。
想變更受保護群組的外部標籤文字,您可以編輯其MediaWiki訊息:
請慎重思考並使用合理的文字,它們存在的目的是讓其他用戶更容易識別職員和反破壞小組成員,更改文字可能會混淆不熟悉的用戶,變得更難找到他們。
注意:用戶標籤含內部緩存,從更改到實際顯示可能要花一個鐘頭的時間完成。同時也可能發生錯誤,像是想要在Staff標籤加上鏈接,但要等到緩存清除後才會運作的情況。 [緩存屬於本地存儲。您可以強制刪除來清除cookie,但一般不建議這樣做]