모어메뉴(MoreMenu)

This page is a translated version of the page MoreMenu and the translation is 100% complete.

모어메뉴(MoreMenu)는 "페이지" 및 해당되는 경우 "사용자" 드롭다운 메뉴를 도구 모음에 추가하는 스크립트입니다. Haza-w 드롭다운 메뉴 소도구의 후속 제품이며 영향을 많이 받았습니다.

MoreMenu
짐보의 기여 분석
설명일반적인 작업, 사용자 및 페이지 분석 도구 및 로그에 대한 유용한 링크
저자MusikAnimal
업데이트됨2023-07-25 (518 days ago)
버전5.1.23
출처GitHub
스킨 지원모두
브라우저 지원모든 "최신" 브라우저, 호환성#브라우저 참조

개요

이 소도구는 유용한 일반 작업, 사용자/페이지 로그, 분석 도구/통계 및 관리자용 도구에 대한 링크가 포함된 메뉴 표시줄에 최대 2개의 드롭다운 메뉴를 추가합니다. 특수 페이지를 제외한 모든 페이지에 대해 페이지 메뉴가 표시됩니다. 사용자 메뉴는 기여 페이지를 포함하여 사용자와 관련된 페이지에서만 볼 수 있습니다.

 
페이지 드롭다운의 분석 메뉴 스크린샷.
MoreMenu

2022 Coolest Tool
Award Winner

in the category
Editor

일부 링크는 특정 권한이 있는 경우에만 사용할 수 있습니다(예: 링크 차단을 위해 차단). 또한 사용자 메뉴의 메뉴 항목은 사용자 권한, 현재 또는 이전 차단 여부 등 보고 있는 사용자의 조건에 따라 나타날 수 있습니다. 예를 들어 차단 하위 메뉴의 "차단 로그" 항목만 해당 사용자가 과거에 차단된 경우 나타납니다. 일부 링크는 특정 이름공간 및 특정 프로젝트에서만 볼 수도 있습니다.

설치

글로벌 설치(권장)

global.js에 다음을 추가하십시오:

mw.loader.load('https://meta.wikimedia.org/w/index.php?action=raw&ctype=text/javascript&title=MediaWiki:MoreMenu.import.js');

이렇게 하면 모든 핵심 모듈을 가져오고 작동하는 스크립트를 제공하여 모든 위키에서 사용할 수 있습니다.

영어 위키백과 확장

영어 위키백과 사용자인 경우 common.js로 이동하여 해당하는 경우 RfAs/RfB 및 XfD에 대한 메뉴 항목을 추가하는 영어 위키백과 확장을 가져오십시오.

mw.loader.using(['mediawiki.util', 'mediawiki.api'], function () {
	mw.loader.load('https://en.wikipedia.org/w/?title=MediaWiki:Gadget-MoreMenu.enwiki.js&action=raw&ctype=text/javascript');
});

유사한 확장을 모든 위키에 추가할 수 있거나 이미 위키에 존재할 수 있습니다. 자세한 내용은 아래 사용자 정의를 참조하십시오.

페이지 로드 시 점프하는 메뉴

벡터 스킨을 사용하면 상단의 탭("편집", "기록 보기" 등)이 이리저리 이동하는 것을 방지할 수 있습니다. "영어" 사용자의 경우 global.css 상단에 다음을 추가합니다.

@import url('https://meta.wikimedia.org/w/index.php?title=MediaWiki:Gadget-MoreMenu-pagestyles.en.css&action=raw&ctype=text/css');

"영어가 아닌" 경우 경로에서 .en를 원하는 언어로 바꿉니다. 지원되는 언어 목록은 Special:PrefixIndex/MediaWiki:Gadget-MoreMenu-pagestyles를 참조하십시오. 언어가 누락된 경우 토론 페이지에서 메인테이너에게 알려주십시오.

소도구로 설치

로컬 위키의 소도구 환경 설정에서 추가 메뉴를 사용할 수 있습니다. 그러나 모든 위키에서 MoreMenu를 사용할 수 있도록 전역적으로 설치하는 것이 좋습니다.

인터페이스 관리자이고 위키에 소도구로 MoreMenu를 설치하려면 다음 단계를 따르십시오:

  1. 다음을 사용하여 MediaWiki:Gadget-MoreMenu-local.js을 생성합니다:
    mw.loader.load('https://meta.wikimedia.org/w/load.php?modules=ext.gadget.MoreMenu');
    
  2. MediaWiki:Gadgets-definition에 다음을 추가합니다:
    * MoreMenu-local[ResourceLoader|dependencies=mediawiki.api,mediawiki.util,user.options]|MoreMenu-local.js
    
  3. MediaWiki:Gadget-MoreMenu-local에 소도구에 대한 설명을 추가하고 이 페이지([[meta:MoreMenu]])에 대한 링크를 추가하는 것이 좋습니다.
  4. "선택 사항": 벡터 스킨에서 페이지 로드 시 메뉴가 "점프"하지 않도록 하는 피어 소도구를 설정할 수 있습니다. 자세한 내용은 피어 소도구를 참조하십시오.
  5. "선택 사항": 예를 들어 사용자의 관리 요청에 대한 링크와 같이 위키에 특정한 링크를 추가하여 MoreMenu를 확장합니다. 확장 코드로 MediaWiki:Gadget-MoreMenu.extension.js를 생성하고 MediaWiki:Gadgets-definition를 수정하여 사용하십시오:
    * MoreMenu-local[ResourceLoader|dependencies=mediawiki.api,mediawiki.util,user.options]|MoreMenu-local.js|MoreMenu.extension
    

지역화

MediaWiki:Gadget-MoreMenu.messages.lang.js에서 MediaWiki:Gadget-MoreMenu.messages.en.js를 폴백으로 번역을 가져옵니다. 새 번역을 추가하려면 토론 페이지에서 메시지의 키/값 쌍을 나열하는 보호된 편집 요청을 만드십시오. 현재 지원되는 언어 목록은 Special:PrefixIndex/MediaWiki:Gadget-MoreMenu.messages를 참조하십시오.

깃허브 저장소에서 풀 요청으로 영어 번역에 대한 변경 사항을 제출하십시오.

사용자 설정

옵션

  • MoreMenu.disableAutoRemoval – 기본 "추가" 메뉴가 비어 있을 때 자동으로 제거하지 마십시오.
  • MoreMenu.prefillDeletionReason – 삭제 링크를 클릭할 때 삭제 이유를 미리 채우지 않으려면 false로 설정하십시오.

이러한 옵션은 다음과 같이 global.js 상단에 설정해야 합니다:

MoreMenu = {
    disableAutoRemoval: true,
};

MoreMenu는 사용자 지정 링크 및 기능으로 확장할 수 있습니다. moremenu.ready 후크가 실행된 후에만 링크를 추가해야 합니다. 아래 예를 참조하십시오.

사용자 지정 링크 추가

  • MoreMenu.addLink(menu, name, url, insertAfter)주어진 메뉴에 링크를 추가합니다.
  • MoreMenu.addSubmenuLink(menu, submenu, name, url, insertAfter)주어진 하위 메뉴에 대한 링크를 추가합니다.

다음은 각 매개변수에 대한 설명입니다:

  • menu — 링크를 배치할 최상위 메뉴의 ID입니다. "사용자" 또는 "페이지"입니다.
  • submenu — 링크를 배치할 하위 메뉴의 ID입니다. 예: "분석" 또는 "페이지 로그".
  • name — 링크의 제목입니다. 원시 문자열 또는 메시지 키일 수 있습니다.
  • url — 링크의 URL입니다. 내부 링크에 mw.util.getUrl()를 사용하십시오.
  • insertAfter (optional) — 링크를 배치할 기존 링크의 ID입니다. false을 사용하여 링크를 맨 위에 놓을 수 있고 true를 사용하여 맨 아래에 놓을 수 있습니다. 그렇지 않고 주어진 ID가 있는 링크가 없거나 이 매개변수가 완전히 생략된 경우 링크가 알파벳순으로 메뉴에 배치됩니다.

예시

"페이지" 메뉴에서 https://example.org에 대한 링크를 추가하려면 common.js 페이지에 다음 코드를 추가하십시오.

mw.hook('moremenu.ready').add(function (config) {
    MoreMenu.addLink(
        'page',
        'Example',
        'https://www.example.org'
    );
    
    // add more MoreMenu.addLink(); instances here...
    
});

config 객체에는 많은 데이터가 포함되어 있습니다. 대부분의 경우 링크에 대상 사용자 이름(config.targetUser.name) 또는 페이지 이름(config.page.name)이 포함되기를 원합니다. 외부 링크인 경우 config.targetUser.encodedNameconfig.page.encodedName와 같이 인코딩된 이름을 사용해야 할 수 있습니다. 사용 가능한 모든 데이터 목록은 환경설정 값을 참조하십시오.

"분석" 하위 메뉴 아래에 사용자의 "관리 요청" 페이지에 대한 링크를 표시하고 싶다고 가정해 보겠습니다:

mw.hook('moremenu.ready').add(function (config) {
    MoreMenu.addSubmenuLink(
        'user',
        'analysis',
        'RfAs',
        mw.util.getUrl('Special:PrefixIndex/Wikipedia:Requests for Adminship/' + config.user.name)
    );
    
    // add more links here...
    
});

이제 RfA에 대한 링크, 관료 요청 등이 있는 "RfXs" 하위 메뉴를 추가하고 해당 페이지가 "있는 경우"에만 이러한 링크를 표시하려고 한다고 가정해 보겠습니다. 이를 수행하는 방법은 패턴과 일치하는 페이지에 대한 링크를 참조하십시오!

고급 사용

Main article: MoreMenu/Advanced

MoreMenu.addLink()MoreMenu.addSubmenuLink() 외에도 사용자 권한과 같은 일부 매개 변수를 기반으로 링크를 구성하거나 완전히 새로운 링크 하위 메뉴를 추가할 때 MoreMenu가 제공하는 논리를 활용할 수 있습니다.

더 자세한 정보는 MoreMenu/Advanced을 읽어보세요.

피어 소도구

이 문서는 로컬 위키에서 MoreMenu를 소도구로 설정하기 위한 것입니다. 사용자 설치에 대해서는 페이지 로드 시 메뉴 점프를 참조하십시오.

벡터 스킨에 최상위 메뉴가 추가되면 "읽기", "편집" 및 "기록 보기" 탭이 이동합니다. 즉, 매우 빠르게 작업하는 경우 MoreMenu 로드가 완료되기 전에 실수로 잘못된 위치를 클릭할 수 있습니다. 이를 방지하기 위해 피어 소도구를 사용하여 사용 가능한 공간을 유지할 수 있습니다.

먼저 Special:PrefixIndex/MediaWiki:Gadget-MoreMenu-pagestyles을 확인하여 위키에 복사할 수 있는 언어용 CSS 코드가 이미 있는지 확인합니다. 없는 경우 너비를 계산해야 합니다. 소도구가 활성화되면 $('.mm-page').outerWidth()$('.mm-user').outerWidth()를 실행하여 너비를 픽셀 단위로 가져올 수 있습니다.

너비가 있으면 다음을 사용하여 MediaWiki:Gadget-MoreMenu-local-pagestyles.css을 만듭니다(이 경우 영어의 경우 px 대신 em 사용).

/*** VECTOR ***/

/* User menu */
.client-js .skin-vector.ns-2 #p-views,
.client-js .skin-vector.ns-3 #p-views,
.client-js > .skin-vector.mw-special-Contributions #p-views,
.client-js > .skin-vector.mw-special-DeletedContributions #p-views,
.client-js > .skin-vector.mw-special-Block #p-views {
    padding-right: 3.68em;
}

/* Page menu */
.client-js .skin-vector:not(.ns-special) #p-views .vector-menu-content::after {
    content: '';
    display: inline-block;
    width: 3.85em;
}

그런 다음 그에 따라 소도구 환경설정을 업데이트합니다:

* MoreMenu-local[ResourceLoader|dependencies=mediawiki.api,mediawiki.util,user.options|peers=MoreMenu-local-pagestyles]|MoreMenu-local.js
* MoreMenu-local-pagestyles[hidden]|MoreMenu-local-pagestyles.css

버그/기능 요청

토론 페이지에서 원하는 모든 것을 묻고 요청하세요.