본문으로 이동

사용자:-revi/highlightformersysop.js

위키백과, 우리 모두의 백과사전.

참고: 설정을 저장한 후에 바뀐 점을 확인하기 위해서는 브라우저의 캐시를 새로 고쳐야 합니다. 구글 크롬, 파이어폭스, 마이크로소프트 엣지, 사파리: ⇧ Shift 키를 누른 채 "새로 고침" 버튼을 클릭하십시오. 더 자세한 정보를 보려면 위키백과:캐시 무시하기 항목을 참고하십시오.

// 뭐해먹는 스크립트냐? > 전직 관리자 서명의 사용자문서/사용자토론 링크에 #EE82EE 색의 하이라이트를 줍니다.
// 왜 #EE82EE 색이냐? > 원래 #6A5ACD였는데 눈이 아파요.
// 색 어떻게 바꾸냐? > DIY.
// 어떻게 쓰냐? > [[User:-revi/common.js]] 참조하세요.
// 관리자 닉강조는 이해하겠는데 왜 전직 관리자도? > 관리자가 사퇴하거나 권한이 회수되었다고 하여 해당 사용자가 과거에 한 판단이 무효가 되는 것은 아니므로, 관리자가 관리업무중 한 발언을 표시하기 위함입니다.
// 그럼 사퇴하기 전이랑 사퇴하고 나서의 발언은 어떻게 구분하냐? > 무식하면 용감하다고, 사퇴/회수 시점을 전부 외우면 됩니다.

;(function($, mw){
	$.getJSON(mw.config.get('wgScriptPath')+'/index.php?action=raw&ctype=application/json&title=User:-revi/userhighlighter.js/former_sysop.js', function(data){
		WASADMINHIGHLIGHT_EXTLINKS = window.ADMINHIGHLIGHT_EXTLINKS || false;
		WASADMINHIGHLIGHT_NAMESPACES = [-1,2,3];
		mw.loader.using(['mediawiki.util','mediawiki.Uri', 'mediawiki.Title'], function() {
			mw.util.addCSS(".userhighlighter_former_sysop.userhighlighter_former_sysop {background-color: #EE82EE !important}");
			$('#bodyContent a').each(function(index,linkraw){
				try {
					var link = $(linkraw);
					var url = link.attr('href');
					if (!url || url.charAt(0) === '#') return; // Skip <a> elements that aren't actually links; skip anchors
					if (url.lastIndexOf("http://", 0) != 0 && url.lastIndexOf("https://", 0) != 0 && url.lastIndexOf("/", 0) != 0) return; //require http(s) links, avoid "javascript:..." etc. which mw.Uri does not support
					var uri = new mw.Uri(url);
					if (!WASADMINHIGHLIGHT_EXTLINKS && !$.isEmptyObject(uri.query)) return; // Skip links with query strings if highlighting external links is disabled
					if (uri.host == 'ko.wikipedia.org') {
						var mwtitle = new mw.Title(mw.util.getParamValue('title',url) || decodeURIComponent(uri.path.slice(6))); // Try to get the title parameter of URL; if not available, remove '/wiki/' and use that
						if ($.inArray(mwtitle.getNamespaceId(), WASADMINHIGHLIGHT_NAMESPACES)>=0) {
							var user = mwtitle.getMain().replace(/_/g," ");
							if (mwtitle.getNamespaceId() === -1) user = user.replace('기여/',''); // For special page "Contributions/<username>"
							if (data[user] == 1) {
								link.addClass('userhighlighter_former_sysop'); // Override the above color by using `a.userhighlighter_sysop.userhighlighter_sysop {background-color: COLOR !important}`
							}
						}
					}
				} catch (e) {
					// Sometimes we will run into unparsable links, so just log these and move on
					window.console && console.error('Former admin highlighter recoverable error',e.message);
				}
			});
		});
	});
}(jQuery, mediaWiki));