미디어위키/미디어위키 설치 및 관리

미디어위키(Mediawiki) 1.31.1 소도구 02 - 단일 소스 코드 문서 소도구

씨실과 날실 2019. 1. 9. 09:00

지난 글에 인터위키를 설정했습니다. 사실 소도구 설정에 인터위키 기능이 크게 필요하지는 않습니다. 그러나 다수의 소도구 소스 코드 문서을 한번에 업로드할 때 필요하므로 미리 설정했습니다.

일단 로그인이 된 상태에서 화면 최우상단 메뉴들 중 환경설정 메뉴 링크를 눌러봅시다. 그럼 아래와 같은 화면을 볼 수 있습니다.

환경설정 페이지에 사용자 정보 / 보이기 / 편집 / 최근 바꿈 / 주시문서 목록 탭을 볼 수 있습니다. 개인별로 소도구를 설정하려면 여기에 소도구 탭이 추가되어야 합니다. 그러려면 위키 관리자가 소도구와 관련하여 꽤 복작합 설정을 해주어야 하비니다.

그럼 이제 본격적으로 소도구 관련 작업을 합시다.

위키 검색창에 특수:소도구를 입력해 들어가보면 위와 같은 화면을 볼 수 있습니다. 아직 소도구가 아무것도 설정되어 있지 않아 소도구들이 아무 것도 없네요.

해당 목록은 소도구 정의에서 편집할 수 있습니다.

라고 안내하고 있습니다. 소도구 정의 링크를 눌러줍니다.

위와 같은 화면을 보게 됩니다. 소도구 정의의 본래 문서 이름은 미디어위키:Gadgets-definition입니다. 위키 검색창에 미디어위키:Gadgets-definition을 입력해도 위 화면의 소도구 정의 문서로 들어오실 수 있습니다.

위 그림처럼 소도구 정의 문서에 설치하고자 하는 소도구들을 등록해주시면 됩니다.

아래는 제가 엄선한 위키백과 소도구들입니다. 아래 소스 코드를 복사해서 위 그림처럼 미디어위키:Gadgets-definition 편집화면에 붙여 저장해주시면 됩니다.

== 둘러보기 소도구 ==
* searchFocus[ResourceLoader]|searchFocus.js
* modrollback[ResourceLoader|rights=rollback]|modrollback.js
* ReferenceTooltips[ResourceLoader|default]|ReferenceTooltips-ko.js|ReferenceTooltips.css
* Navigation_popups[ResourceLoader|dependencies=mediawiki.user,mediawiki.util]|popups.js|popups-strings-ko.js|navpop.css

== 편집 소도구 ==
* HotCat[ResourceLoader|rights=edit,purge]|HotCat.js
* noSignAlert[ResourceLoader]|noSignAlert.js
* purgetab[ResourceLoader|dependencies=mediawiki.util,mediawiki.api,mediawiki.notify]|purgetab.js
* charinsert[ResourceLoader|peers=charinsert-styles]|charinsert.js
* charinsert-core[ResourceLoader|hidden|dependencies=mediawiki.toolbar,jquery.textSelection,user]|charinsert-core.js
* charinsert-styles[ResourceLoader|hidden|type=styles]|charinsert-styles.css

== 인터페이스 소도구 ==
* exlinks[ResourceLoader|dependencies=mediawiki.util]|exlinks.js
* RollbackComment[ResourceLoader|rights=rollback]|RollbackComment.js 

저장했는데 검토해보니 오타가 있는 경우 편집에 들어가 올바르게 수정해주시고 사소한 편집입니다에 체크를 해주고 변경사항 저장 버튼을 눌러 저장해 주시면 됩니다.

그 후 위키 검색창에 특수:소도구를 입력해주면 아래와 같은 화면이 나타날 것입니다.

위 화면처럼 나타난다면 일단 명목상 소도구에 필요한 소스코드 문서들이 등록은 된 것입니다. 그러나 실제로 소도구가 설치된 것은 아닙니다.

빨간색 링크가 보이시지요? 해당 문서 작성이 필요하다는 의미입니다. 예를 들어보죠. 화면 위에 빨간색으로 Gadget-searchFocus.js이라 적힌 링크가 있습니다. 이 이 얘기는 어느 특정 문서가 Gadget-searchFocus.js와 연결되어 있는데 Gadget-searchFocus.js라는 이름의 문서가 존재하지 않아 새로 작성이 필요하다는 뜻입니다.

일단 여기까지 확인하고 다시 환경설정으로 돌아가봅시다.

이제 소도구 탭 항목이 새로 생긴 것을 확인할 수 있습니다.

소도구 탭으로 들어가면 명목상이나마 등록이 되어 있는 소도구들의 목록을 확인할 수 있습니다.

소도구 소스코드 작성 - 단일 소스 코드

위키 검색창에 다시 특수:소도구를 입력해 특수:소도구 문서 화면으로 돌아갑시다. 참고로 추후 제 A:B 문서로 들어가자고 하면 위키 검색창에 해당 문서 A:B를 입력해 들어가시면 됩니다.

이제 본격적인 소도구 소스 코드 작성 작업에 들어갑니다. 소도구는 하나의 소스 코드 문서만 작성하면 되는 것과 하나의 소도구를 사용하기 위해서 다수의 소스 코드 문서를 작성해야 하는 경우로 나뉩니다.

일단 하나의 문서만 작성하면 되는 경우를 알아 봅시다.

맨 위의 Gadget-searchFocus.js를 예로 들어 봅시다. 이 소스 코드 문서는 위키의 대문을 열면 자동으로 키보드 커서를 검색 상자에 놓는 기능을 하는 소도구입니다.

빨간 글씨의 Gadget-searchFocus.js 링크를 누릅니다.

그럼 위와 같은 화면을 보실 수 있습니다.

이 문서가 존재하지 않습니다. 이 문서와 제목한 문서가 있는지 검색하거나 이 문서에 관련된 기록을 확인하거나 문서를 직접 생성할 수 있습니다.

라는 문구를 볼 수 있는데요. 생성 링크를 눌러 문서를 만듭시다. 참고로 로그인을 안했거나 문서 생성 권한이 없는 경우 아래와 같은 화면을 보게 됩니다.

생성 링크를 누르면 아래와 같은 화면을 볼 수 있습니다.

위 화면 일반 문서 작성 화면과 달리, 코드 작성 화면입니다. 이 상태에서 코드를 작성하고 문서 저장을 눌러 주시면 됩니다. 그런데 우리는 해당 코드를 모릅니다. 그러므로 위키백과에서 코드를 복사해와 붙여야 합니다.

아래 그림처럼 위키백과 특수:소도구 문서로 들어갑니다.

이 화면에서 Gadget-searchFocus.js 링크를 눌러 해당 문서에 들어갑니다.

소스 코드를 마우스로 드래그해 복사합니다.

해당 코드를 알려 드리겠습니다.

if ( mw.config.get( 'wgIsMainPage' ) ) {
  $( function () {
    $( '#searchInput' ).focus();
  } );
} 
위 코드를 복사해 자신의 위키 Gadget-searchFocus.js 편집 화면에 붙인 후 저장하면 됩니다. 아래 그림은 그 예입니다.

저장을 하면 아래와 같은 화면을 볼 수 있습니다.

이제 다시 특수:소도구 문서로 들어가봅시다.

보시면 위 그림처럼 Gadget-searchFocus.js 글자색이 빨간 색에서 보라색으로 바뀐 것을 확인할 수 있습니다. 글자의 색깔마다 알려주는 상태가 다릅니다.

빨간색 : 해당 문서가 위키에 존재하지 않음

파란색 : 해당 문서가 위키에 존재하나 아직 읽지는 않음

보라색 : 해당 문서가 우키에 존재하며 읽은 적이 있음

위 색깔은 웹브라우저의 환경설정에 따라 달라질 수 있습니다.

이제 Gadget-searchFocus.js 코드의 설명 메시지를 작성해줍시다. Gadget-searchFocus.js 윗줄의 빨간색 편집 링크를 눌러줍니다.

위와 같은 화면이 나옵니다.

다시 위키백과 특수:소도구에 들어가서 Gadget-searchFocus.js 링크 윗줄의 원본보기 링크를 눌러줍니다.

그럼 위와 같은 화면을 볼 수 있습니다. 내용을 보면

대문을 열면 키보드 커서를 검색 상자에 놓습니다.

라는 문구가 있습니다. 이것을 마우스로 드래그한 후 복사합니다.

이후 다시 자신의 위키 메시지 미디어위키:Gadget-searchFocus.js 만들기로 돌아가 위 그림처럼 붙인 후 저장해줍니다.

저장하면 위와 같은 화면을 볼 수 있습니다.

이상은 위키백과 소도구 소스 코드 문서 사용방법입니다. 위는 단일 소스 코드인 경우를 기준으로 설명했습니다만, 하나의 소도구가 다수의 소스코드 문서를 필요로 하는 경우에도 똑같은 방식으로 필요 문서를 생성해주면 됩니다.