미디어위키:Common.js: 두 판 사이의 차이

위키책, 위키책
내용 삭제됨 내용 추가됨
Ruslik0 (토론 | 기여)
update
잔글 rev.
43번째 줄: 43번째 줄:
}
}
/* 끝: Edittool Bars */
/* 끝: Edittool Bars */

/* 시작: 편집창 위의 단추 추가 */
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText) {
mwCustomEditButtons[mwCustomEditButtons.length] =
{"imageFile": imageFile, "speedTip": speedTip, "tagOpen": tagOpen, "tagClose": tagClose, "sampleText": sampleText};
}
addCustomButton('//upload.wikimedia.org/wikipedia/commons/2/2a/Button_category_plus.png',
'카테고리', '\[\[Category:', '\]\]', ' ');
/* 끝: addCustomButton */

/* 시작: Edittool-bar 옮기기 */

function chooseCharSubset(ss) {
s = parseInt( ss );
if ( isNaN(s) ) s = 0;
if (SpecCharsAccesskeys.length==0) {
if (is_opera) SpecCharsAccesskeys = new Array("!","\"","§","$","%","&","/","(",")","=");
else SpecCharsAccesskeys = new Array("1","2","3","4","5","6","7","8","9","0","!","\"","§","$","%","&","/","(",")","=");
}
if (s>=0) {
var l = document.getElementById('specialchars').getElementsByTagName('p');
for (var i = 0; i < l.length ; i++) {
if (i==s) {
l[i].style.display = 'inline';
SetArrayAccessKeys(l[i].getElementsByTagName('a'),SpecCharsAccesskeys);
} else l[i].style.display = 'none';
}
$.cookie('CharSubset', s);
}
}
// Accesskeys
function SetArrayAccessKeys(elements, keys) {
for (var i =0; i < elements.length;i++) {
if (i < keys.length) {
elements[i].setAttribute("accessKey",keys[i]);
elements[i].setAttribute("title","alt-"+keys[i]);
} else {
elements[i].setAttribute("accessKey","");
elements[i].setAttribute("title","");
}
}
}
SpecCharsAccesskeys = new Array();
function addCharSubsetMenu() {
var SpecCharsMove = true;
var edittools = document.getElementById('specialchars');
if (edittools) {
var name;
var menu=document.createElement("select");
menu.style.display="inline";
var line = edittools.getElementsByTagName('p');
for (var i = 0; i < line.length ; i++) {
if (line[i].className == "specialbasic" || line[i].className == "speciallang") {
if (line[i].title) name=line[i].title;
else name = line[i].id;
menu.options[menu.options.length]=new Option(name);
}
}
menu.onchange=function() {chooseCharSubset(this.selectedIndex);} ;
if (SpecCharsMove) {
edittools.insertBefore(menu,edittools.firstChild);
} else {
edittools.insertAfter(menu,edittools.firstChild);
}
var stdsubset = 0;
if ($.cookie("CharSubset")) stdsubset = parseInt( $.cookie("CharSubset") );
if ( isNaN(stdsubset) ) stdsubset = 0;
menu.options[stdsubset].selected = true;
chooseCharSubset(stdsubset);
var charlinks = document.getElementById('toolbar').getElementsByTagName('a');
for (var i=0; i < charlinks.length; i++) {
charlinks[i].setAttribute("tabindex",8);
}
}
}
$(document).ready(addCharSubsetMenu);
// Toolbar 옮기기
function elementMoveto(node, refNode, pos) {
if(node && refNode) {
var parent = refNode.parentNode;
if (pos && pos == 'after') refNode=refNode.nextSibling;
try {
parent.insertBefore(node, refNode);
} catch (DOMException) {};
}
}
// Toolbar 고정
function fixToolbar(){
var wpEditToolbar = document.getElementById("toolbar");
var dropdownListEditTools = document.getElementById("dropdownListEditTools");
elementMoveto(dropdownListEditTools , wpEditToolbar , 'after' );
if (dropdownListEditTools) dropdownListEditTools.style.display="block";
var editspecialchars = document.getElementById("specialchars");
elementMoveto( editspecialchars, wpEditToolbar, 'after' );
}
$(document).ready(fixToolbar);
/* 끝: Edittool-bar 옮기기 */


/* 시작: 말고 펴는 살피기칸: Dynamic Navigation Bars */
/* 시작: 말고 펴는 살피기칸: Dynamic Navigation Bars */
233번째 줄: 136번째 줄:
$(document).ready(WiktionaryTalkpage);
$(document).ready(WiktionaryTalkpage);
/* 끝: change namespace of certain pages */
/* 끝: change namespace of certain pages */

/* 시작: 로그인 / 사용자 등록 */
// 따옴: [[de:MediaWiki:Common.js]]
function signUp() {
if (document.getElementById("pt-login")) {
var signUp = document.createElement("span");
signUp.setAttribute("style", "padding-right: 2px");
signUp.innerHTML = ' \| <a href="/wiki/Special:Userlogin?type=signup" title="한국어 위키책에 사용자 등록하기"><span class="BGImage-e">사용자 등록<W/span><\/a>';
document.getElementById("pt-login").appendChild(signUp);
}
}
$(document).ready(signUp);
/* 끝: Userlogin / Signup */


/* 위키 프로젝트 링크: Interprojekt-Links */
/* 위키 프로젝트 링크: Interprojekt-Links */

2012년 11월 4일 (일) 06:27 버전

/* 시작: Edittool Bars */
 // [[MediaWiki:Edittools]] 와 동시 편집 (순서 바꾸지 않기를!)
 function addCharSubsetMenu() {
  var specialchars = document.getElementById('specialchars');
  if (specialchars) {
   var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
   menu += "<option>부호 및 템플릿</option>";
   menu += "<option>IPA/AHD 부호</option>";
   menu += "<option>라틴어</option>";
   menu += "<option>그리스어</option>";
   menu += "<option>독일어</option>";
   menu += "<option>러시아어</option>";
   menu += "<option>루마니아어</option>";
   menu += "<option>몰타어</option>";
   menu += "<option>베트남어</option>";
   menu += "<option>세르비아어</option>";
   menu += "<option>스칸디나비아 제어</option>";
   menu += "<option>아랍어</option>";
   menu += "<option>아이슬랜드어</option>";
   menu += "<option>에스토니아어</option>";
   menu += "<option>에스파냐어</option>";
   menu += "<option>에스페란토</option>";
   menu += "<option>중국어 병음</option>";
   menu += "<option>체코어</option>";
   menu += "<option>카탈란어</option>";
   menu += "<option>터키어</option>";
   menu += "<option>포르투갈어</option>";
   menu += "<option>폴란드어</option>";
   menu += "<option>프랑스어</option>";
   menu += "<option>하와이어</option>";
   menu += "<option>히브리어</option>";
   menu += "</select>";
   specialchars.innerHTML = menu + specialchars.innerHTML;
   chooseCharSubset(0);
  }
 }
 function chooseCharSubset(s) {
  var l = document.getElementById('specialchars').getElementsByTagName('p');
  for (var i = 0; i < l.length ; i++) {
   l[i].style.display = i == s ? 'inline' : 'none';
   l[i].style.visibility = i == s ? 'visible' : 'hidden';
  }
 }
/* 끝: Edittool Bars */

/* 시작: 말고 펴는 살피기칸: Dynamic Navigation Bars */
 // de Wikipedia 에서 따옴
 mw.util.addCSS('.NavContent, .NavPic {display: none;}');
 var NavigationBarHide = ' ▲ ';
 var NavigationBarShow = ' ▼ ';
 var NavigationBarShowDefault = 0;
 function toggleNavigationBar(indexNavigationBar) {
  var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
  var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
  if (!NavFrame || !NavToggle) {
   return false;
  }
  if (NavToggle.firstChild.data == NavigationBarHide) {
   for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
    if (NavChild.className == 'NavPic') {
     NavChild.style.display = 'none';
    }
    if (NavChild.className == 'NavContent') {
     NavChild.style.display = 'none';
    }
    if (NavChild.className == 'NavToggle') {
     NavChild.firstChild.data = NavigationBarShow;
    }
   }
   } else if (NavToggle.firstChild.data == NavigationBarShow) {
    for (var NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
     if (NavChild.className == 'NavPic') {
      NavChild.style.display = 'block';
     }
     if (NavChild.className == 'NavContent') {
      NavChild.style.display = 'block';
     }
     if (NavChild.className == 'NavToggle') {
      NavChild.firstChild.data = NavigationBarHide;
     }
    }
   }
  }
 function createNavigationBarToggleButton() {
  var indexNavigationBar = 0;
  for(var i=0; NavFrame = document.getElementsByTagName("div")[i]; i++) {
   if (NavFrame.className == "NavFrame") {
    indexNavigationBar++;
    var NavToggle = document.createElement("a");
    NavToggle.className = 'NavToggle';
    NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
    NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
    var NavToggleText = document.createTextNode(NavigationBarHide);
    NavToggle.appendChild(NavToggleText);
    NavFrame.insertBefore(NavToggle, NavFrame.firstChild);
    NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
   }
  }
  if (NavigationBarShowDefault < indexNavigationBar) {
   for(var i=1; i<=indexNavigationBar; i++) {
    toggleNavigationBar(i);
   }
  }
 }
jQuery(document).ready( createNavigationBarToggleButton);
/* 끝: Dynamic Navigation Bars */

/* 대문 제목 숨기기: Hidden mainpage */
 var mpTitle = "위키책:대문";
 var isMainPage = (document.title.substr(0, document.title.lastIndexOf(" - ")) == mpTitle);
 var isDiff = (document.location.search && (document.location.search.indexOf("diff=") != -1 || document.location.search.indexOf("oldid=") != -1));
 if (isMainPage && !isDiff) {
  mw.util.addCSS('#lastmod, #siteSub, #contentSub, h1.firstHeading { display: none !important; }');
 }
/* 끝: Hidden mainpage */

/* 시작: IP 참여자는 저장하기 전에 미리보기를 반드시 하도록: Force preview*/
 // 프로그래머: [[:w:fr:User:Marc Mongenet]]: 보충 [[:w:fr:User:Plyd]]
 function forcePreview() {
  if (mw.config.get('wgUserName') != null || mw.config.get('wgAction') != "edit") return;
  saveButton = document.getElementById("wpSave");
  if (!saveButton) return;
  saveButton.disabled = true;
  saveButton.value = "미리보기를 한 다음에 저장";
  saveButton.style.fontWeight = "normal";
  document.getElementById("wpPreview").style.fontWeight = "bold";
 }
 $(document).ready(forcePreview);
/* 끝: Force preview */

/* 시작: 자유게시판, 게시판 페이지 네임스페이스 바꿈 */
 function WiktionaryTalkpage() {
  if(document.title.search && (document.title.search("위키책:자유게시판") != -1 || document.title.search("위키책:게시판") != -1))
   document.body.className = "ns-1";
 }
 $(document).ready(WiktionaryTalkpage);
/* 끝: change namespace of certain pages */

/* 위키 프로젝트 링크: Interprojekt-Links */
 // 따옴: de Wiktionary ([[mediazilla:708|Bug 708]])
 // 필요한 템플릿: InterProject -> [[Template:위키프로젝트]], 
 url = document.URL;

 mw.util.addCSS('#interProject, #sisterProjects {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}');
 function iProject() {
  if (document.getElementById("interProject")) {
   var iProject = document.getElementById("interProject").innerHTML;
   var interProject = document.createElement("div");
   var interProjectstyle = "margin-top: .1em;";
   var interProjectdescription = "위키프로젝트의 문서로 인터 링크 시키기"
   interProject.setAttribute("style", interProjectstyle)
   interProject.setAttribute("title", interProjectdescription)
   interProject.innerHTML = '<h5>위키 프로젝트<a href="/wiki/위키책:위키 프로젝트">&nbsp;<\/a><\/h5><div class="pBody" style = "background-color:#EEF9FF;">'+iProject+'<\/div>';
   document.getElementById("p-tb").appendChild(interProject);
  }
 }
 $(document).ready(iProject);
/* 끝: Interprojekt-Links */