도움말:관리자 매뉴얼/소도구
Miraheze에 가입한 모든 사용자는 기본적으로 환경 설정에서 자바스크립트 모듈인 소도구를 기능별로 켜거나 끌 수 있습니다.
소도구 켜기/끄기
- 로그인한 상태에서 우측 위의 환경 설정 링크를 누른다.
- 소도구 탭을 클릭한다.
- 관리단이 만들어놓은 소도구의 설명을 읽은 뒤 사용하고 싶은 기능만 체크 상자를 누르고 그 외의 것은 역시 클릭하여 해제한다.
- 저장 버튼을 누르면 됩니다. 참 쉽죠?
소도구 만들기
지금부터는 관리자 이상의 권한을 가진 유저가 소도구를 만드는 방법을 설명합니다.
소도구 제작에는 기본적으로 자바스크립트 코딩 및 CSS 관련 지식이 필요합니다. 소도구 기능은 일단 켜면 전 위키 문서에 영향을 미치므로 자바스크립트를 잘 모르신다면 건드리지 않는 것이 좋습니다.
소도구가 만들어질 경우 특수:소도구에서 모든 정의된 소도구와 그 설명이 달려있습니다.
지금부터는 만들고자 하는 소도구 기능의 이름이 "ExampleGadget"이라고 가정하겠습니다.
미디어위키:Gadgets-definition
이 문서는 소도구 환경 설정에 들어갈 항목들을 정의하는 곳입니다.
새 문단을 여기에 정의하면 소도구 활성화를 설정하는 항목을 포함하는 문단이 소도구 환경설정에 나타납니다.
기본적으로 여기가 새 소도구를 만드는 출발점입니다. 소도구를 정의하는 방법은 아래와 같은 한 줄을 추가하면 됩니다.
* ExampleGadget[ResourceLoader]ExampleGadget.js|ExampleGadget.css
그러면 미디어위키:Gadget-ExampleGadget, 미디어위키:Gadget-ExampleGadget.js, 미디어위키:Gadget-ExampleGadget.css를 통해 소도구의 기능을 정할 수 있습니다.
- 미디어위키:Gadget-ExampleGadget에는 현지 언어로 된 소도구 이름과 기능 설명을 작성하면 됩니다. 큰숲백과는 한국어 위키이니 현지 언어인 한국어로 작성하시면 됩니다.
- 미디어위키:Gadget-ExampleGadget.js의 경우 자바스크립트로 모든 위키 페이지에 적용할 기능을 작성하면 됩니다. 마지막에 jQuery를 이용해 해당 js 파일에서 기본적으로 작동해야 하는 함수 호출을 잊지 마세요!
- 미디어위키:Gadget-ExampleGadget.css의 경우 해당 소도구를 통해 바꿀 모든 위키 페이지의 레이아웃(버튼 및 텍스트 등의 위치 배치 상태)를 정의할 수 있습니다.
애석하게도, 미디어위키 개발 방향의 문제로 인해 ECMA2015(=ECMAScript 6)이상 버전에 포함된 기능이 적용되지 않습니다. 따라서 화살표 함수와 같은 최신 자바스크립트 기능을 일부 사용할 수 없습니다.
참고로 위 js 파일과 css 파일 이름은 소도구 이름과 같지 않아도 되지만 혼동 방지를 위해서 가급적 일치하도록 작성하는 것이 좋습니다.
그 외의 TMI
- 위 소도구 정의에서 | 글자를 이용해 [ResourceLoader]외에 다른 옵션을 넣어줄 수 있습니다. 가령 다음과 같은 경우 소도구가 기본적으로 ip유저를 포함한 모두에게 적용되며, 소도구 환경설정에서 항목이 숨겨지게 됩니다.
* Example2Gadget[ResourceLoader|default|hidden]Example2Gadget.js|Example2Gadget.css
- 그 외의 옵션은 mw:Extension:Gadgets#Options에서 보실 수 있습니다.
- Gadget 실행 우선순위는 미디어위키:Common.js 및 미디어위키:Common.css가 실행된 다음 무작위 순서로 결정됩니다.