MediaWiki:Monobook.js

Vikikaynak, özgür kütüphane

Not: Yayımladıktan sonra değişiklikleri görmek için tarayıcınızın önbelleğini temizlemeniz gerekebilir.

  • Firefox / Safari: Shift tuşuna basılıyken Yeniden Yükle'ye tıklayın ya da Ctrl-F5 ya da Ctrl-R tıklayın (Mac için ⌘-R).
  • Google Chrome: Ctrl-Shift-R'ye basın. (Mac için ⌘-Shift-R)
  • Internet Explorer / Edge: Ctrl basılıyken Yenile'ye tıklayın ya da Ctrl-F5 yapın.
  • Opera: Ctrl-F5 tıklayın.
/*
<pre>
*/
/************************************** Metin Kalitesi **************************************/ 
/**********************
*** Quality indicators on "article" tab
*** by [[user:ThomasV]]
**********************/
function icon_src(t){
	var src='';
	switch(t){
		case "0%": src='//upload.wikimedia.org/wikipedia/commons/8/8f/00%25.png'; break;
		case "25%": src='//upload.wikimedia.org/wikipedia/commons/5/5b/25%25.png'; break;
		case "50%": src='//upload.wikimedia.org/wikipedia/commons/3/3a/50%25.png'; break;
		case "75%": src='//upload.wikimedia.org/wikipedia/commons/c/cd/75%25.png'; break;
		case "100%": src='//upload.wikimedia.org/wikipedia/commons/6/64/100%25.png'; break;
	} 
	return src;
}
 
function pageQuality() {
	var a = document.getElementById("ca-nstab-main");
	if(!a) return;
 
	var q = document.getElementById("textquality")
	if(q) {
		var new_img = document.createElement("img");
		new_img.setAttribute("src", icon_src(q.className));
		a.firstChild.appendChild(new_img);
	}
 
	for(var i=0; spanElem = document.getElementsByTagName("span")[i]; i++) {
		if (spanElem.className == "pagequality")  {
			var new_img = document.createElement("img");
			new_img.setAttribute("src", icon_src(spanElem.title));
 
			if(mw.config.get('wgCanonicalNamespace') == "Page") {
				a.firstChild.appendChild(new_img);
			}
			else {
				s1 = spanElem.parentNode.previousSibling;
				opttext = s1.firstChild.firstChild;
				img = opttext.firstChild.nextSibling.nextSibling.nextSibling;
				next = img.nextSibling;
				opttext.removeChild(img);
				opttext.insertBefore(new_img,next);
			}
		}
	}
}
 
$(pageQuality);
 
 
 
/**********************
*** Add quality buttons on edit view
*** by [[user:ThomasV]]
**********************/
 
function addQuality(form,value){
	var text="";
	switch(value){
		case "25%": text = "Tamamlanmamış"; break;
		case "50%": text = "Formatlanmamış"; break;
		case "75%": text = "Tamamlanmış ve formatlanmış"; break;
		case "100%": text = "Düzenlendi"; break;
	} 
	form.elements["wpSummary"].value="/* "+text+" */";
 
	if(mw.config.get('wgCanonicalNamespace') == "Page") {
		s = form.elements["headerTextbox"].value;
		s = s.replace(/\{\{PageQuality\|(.*?)\}\}/gi,"")
		form.elements["headerTextbox"].value="{"+"{PageQuality|"+value+"}"+"}"+s;
 
	}
	else {
		s = form.elements["wpTextbox1"].value;
                s = s.replace(/\{\{TextQuality\|(.*?)\}\}/gi,"")
                form.elements["wpTextbox1"].value="{"+"{Metin kalitesi|"+value+"}"+"}"+s;
	}
}
 
 
 
function addQualityButtons(){
	if( mw.config.get('wgNamespaceNumber') != 0) {
		return;
	}
	var ig  = document.getElementById("wpWatchthis"); 
	if(ig) {
		var f = document.createElement("span");
		f.innerHTML = ' <input type="radio" name="quality" value="25%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/25%25.png">'+'<input type="radio" name="quality" value="50%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/50%25.png">'+'<input type="radio" name="quality" value="75%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/75%25.png">'+'<input type="radio" name="quality" value="100%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/100%25.png"><a href="//tr.wikisource.org/wiki/VikiKaynak:Metin_kalitesi">Metin kaliteleri hakkında</a>';
		ig.parentNode.insertBefore(f,ig.nextSibling.nextSibling.nextSibling)
	}
}
 
$(addQualityButtons);


function LinkFA() 
{
   // iterate over all <span>-elements
   for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
      // if found a FA span
      if(a.className == "FA") {
         // iterate over all <li>-elements
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            // if found a FA link
            if(b.className == "interwiki-" + a.id) {
               b.style.padding = "0 0 0 16px";
               b.style.backgroundImage = "url('//upload.wikimedia.org/wikipedia/en/6/60/LinkFA-star.png')";
               b.style.backgroundRepeat = "no-repeat";
               b.title = "This article has gained featured status";
            }
         }
      }
   }
}

jQuery(document).ready(LinkFA);
 
 // END Enable multiple onload functions
 // ============================================================

 // ============================================================
 // BEGIN Dynamic Navigation Bars (experimantal)
 
 // set up the words in your language
 var NavigationBarHide = '[ Gizle ]';
 var NavigationBarShow = '[ Göster ]';
 
 // set up max count of Navigation Bars on page,
 // if there are more, all will be hidden
 // NavigationBarShowDefault = 0; // all bars will be hidden
 // NavigationBarShowDefault = 1; // on pages with more than 1 bar all bars will be hidden
 var NavigationBarShowDefault = 1;
 
 
 // shows and hides content and picture (if available) of navigation bars
 // Parameters:
 //     indexNavigationBar: the index of navigation bar to be toggled
 function toggleNavigationBar(indexNavigationBar)
 {
    var NavToggle = document.getElementById("NavToggle" + indexNavigationBar);
    var NavFrame = document.getElementById("NavFrame" + indexNavigationBar);
 
    if (!NavFrame || !NavToggle) {
        return false;
    }
 
    // if shown now
    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';
            }
        }
    NavToggle.firstChild.data = NavigationBarShow;
 
    // if hidden now
    } 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';
            }
        }
    NavToggle.firstChild.data = NavigationBarHide;
    }
 }
 
 // adds show/hide-button to navigation bars
 function createNavigationBarToggleButton()
 {
    var indexNavigationBar = 0;
    // iterate over all < div >-elements
    for(
            var i=0; 
            NavFrame = document.getElementsByTagName("div")[i]; 
            i++
        ) {
        // if found a navigation bar
        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);
            // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
            for(
              var j=0; 
              j < NavFrame.childNodes.length; 
              j++
            ) {
              if (NavFrame.childNodes[j].className == "NavHead") {
                NavFrame.childNodes[j].appendChild(NavToggle);
              }
            }
            NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
        }
    }
    // if more Navigation Bars found than Default: hide all
    if (NavigationBarShowDefault < indexNavigationBar) {
        for(
                var i=1; 
                i<=indexNavigationBar; 
                i++
        ) {
            toggleNavigationBar(i);
        }
    }
 
 }
 
 jQuery(document).ready(createNavigationBarToggleButton);
 
 // END Dynamic Navigation Bars
 // ============================================================

// Araç kutusuna ekleme
// ============================================================

//============================================================
//
// Barre d'outil
//
//============================================================

//============================================================
// Générateur de tableaux
//============================================================

/**
 *
 * English: Generate an array using Mediawiki syntax
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function generateTableau(nbCol, nbRow, border, styleHeader, styleLine)
{
	var code = "\n";
	if (styleHeader==1) {
		code += '{{tablonun başlığı}}\n';
	} else {
		code += '{| border="' + border + '"\n';
		code += '|+ başlık\n';
	}
	
	for (var i=0;i<nbCol;i++) code += '! başlık ' + i + '\n'
	
	for (var j=0;j<nbRow;j++) {
		if ((j+1)%2==0 && styleLine==1) {
			code += '|-{'+'{gri çizgi}'+'}\n'
		} else {		
			code += '|-----\n'
		}
		
		for (var i=0;i<nbCol;i++) code += '| eleman\n';
	}
	
	code += '|}';
	insertTags('','', code); 
}

/**
 *
 * English: Open a popup with parameters to generate an array. 
 * The number of rows/columns can be modified. Some additional
 * parameters are related to templates available on :fr
 *
 * @author: fr:user:dake
 * @version: 0.1
 */
 
function popupTableau()
{
  var popup = window.open('','name','height=400,width=500');
  
  javaCode =  '<script type="text\/javascript">function insertCode(){';
  javaCode += 'var row = parseInt(document.paramForm.inputRow.value); '
  javaCode += 'var col = parseInt(document.paramForm.inputCol.value); '
  javaCode += 'var bord = parseInt(document.paramForm.inputBorder.value); '
  javaCode += 'var styleHeader = document.paramForm.inputHeader.checked; '
  javaCode += 'var styleLine = document.paramForm.inputLine.checked; '
  javaCode += 'window.opener.generateTableau(col,row,bord,styleHeader,styleLine); '
  javaCode += '}<\/script>';
  
  popup.document.write('<html><head><title>Paramètres du tableau</title>');
  popup.document.write(javaCode); 
  popup.document.write('</head><body>');
  popup.document.write('<p>Lütfen tablonun paremetrelerini giriniz : </p>');
  popup.document.write('<form name="paramForm">');
  popup.document.write('Sıra sayısı : <input type="text" name="inputRow" value="3" ><p>');
  popup.document.write('Sütun sayısı : <input type="text" name="inputCol" value="3" ><p>');
  popup.document.write('Kenar kalınlığı : <input type="text" name="inputBorder" value="1" ><p>');
  popup.document.write('Gri başlık : <input type="checkbox" name="inputHeader" checked="1" ><p>');
  popup.document.write('Alternatif gri çizgiler : <input type="checkbox" name="inputLine" checked="1" ><p>');
  popup.document.write('</form">');
  popup.document.write('<p><a href="javascript:insertCode()"> Değişiklik sayfasına kodu eklemek için</a></p>');
  popup.document.write('<p><a href="javascript:self.close()"> Kapat</a></p>');
  popup.document.write('</body></html>');
  popup.document.close();
}

//============================================================
// Insertion de nouveaux boutons dans la barre d'outil
//============================================================

/**
 * Ajoute quelques boutons sur la barre d'outil
 * Inspiré de mon code précédent et des icônes sur he:
 * @author: fr:user:dake
 * @version: 0.1
 */
/*function ImprovedToolbar()
{
 tooly = document.getElementById('toolbar');
 if (tooly == null) return;

 StrikeTextButton = "<a href=\"javascript:insertTags('<s>','</s>','');\"><img src=\"//upload.wikimedia.org/wikipedia/fr/3/30/Btn_toolbar_rayer.png\" alt=\"Üstünü çiz\" title=\"Rayer\"></a>";
 EnumTextButton = "<a href=\"javascript:insertTags('\n# eleman 1\n# eleman 2\n# eleman 3','','');\"><img src=\"//upload.wikimedia.org/wikipedia/fr/8/88/Btn_toolbar_enum.png\" alt=\"Numaralandırma\" title=\"Numaralandırma\"></a>";
 ListTextButton = "<a href=\"javascript:insertTags('\n* eleman A\n* eleman B\n* eleman C','','');\"><img src=\"//upload.wikimedia.org/wikipedia/fr/1/11/Btn_toolbar_liste.png\" alt=\"Liste\" title=\"Liste\"></a>";
 GalleryButton = "<a href=\"javascript:insertTags('\n<gallery>\nImage:Vista-openbsd.png|Başlık\nImage:AMule.png|Başlık\nImage:Cyberduck icon.png|Başlık\n</gallery>','','');\"><img src=\"//upload.wikimedia.org/wikipedia/fr/9/9e/Btn_toolbar_gallery.png\" alt=\"Resim galerisi\" title=\"Resim galerisi\"></a>";
 CommentTextButton = "<a href=\"javascript:insertTags('<!--','-->','');\"><img src=\"//upload.wikimedia.org/wikipedia/fr/3/37/Btn_toolbar_commentaire.png\" alt=\"Yorum\" title=\"Yorum\"></a>";
 RedirectButton = "<a href=\"javascript:insertTags('#REDIRECT [[',']]','hedefin adı');\"><img src=\"//upload.wikimedia.org/wikipedia/en/c/c8/Button_redirect.png\" alt=\"Yönlendirme\" title=\"Yönlendirme\"></a>";
 ArrayButton = "<a href=\"javascript:popupTableau();\"><img src=\"//upload.wikimedia.org/wikipedia/fr/0/04/Button_array.png\" alt=\"Tablo\" title=\"Tablo\"></a>";

 tooly.innerHTML = tooly.innerHTML + StrikeTextButton + EnumTextButton + 
ListTextButton + CommentTextButton + GalleryButton + RedirectButton + ArrayButton ;
}*/

//jQuery(document).ready(ImprovedToolbar);


 // ============================================================
 // BEGIN Moving of the editsection links
 
 /*
 * moveEditsection
 * Dieses Script verschiebt die [Bearbeiten]-Buttons vom rechten Fensterrand
 * direkt rechts neben die jeweiligen Überschriften.
 * This script moves the [edit]-buttons from the right border of the window
 * directly right next to the corresponding headings.
 *
 * Zum Abschalten die folgende Zeile (ohne führendes Sternchen) in die eigene
 * monobook.js (zu finden unter [[Special:Mypage/monobook.js|Benutzer:Name/monobook.js]]) kopieren:
 * var oldEditsectionLinks = true;
 *
 * dbenzhuser (de:Benutzer:Dbenzhuser)
 */
 function moveEditsection() {
     if (typeof oldEditsectionLinks == 'undefined' || oldEditsectionLinks == false) {
         var spans = document.getElementsByTagName("span");
         for(var i = 0; i < spans.length; i++) {
             if(spans[i].className == "editsection") {
                 spans[i].style.fontSize = "x-small";
                 spans[i].style.fontWeight = "normal";
                 spans[i].style.cssFloat = "none";
                 spans[i].style.marginLeft = "0px";
                 spans[i].parentNode.appendChild(document.createTextNode(" "));
                 spans[i].parentNode.appendChild(spans[i]);
             }
         }
     }
 }
 // onload
 $(moveEditsection);
 
 // END Moving of the editsection links
 // ============================================================

/*
</pre>
 */