Huiquimedia:Monobook.js

Īhuīcpa Huiquitlahtōl, in yōllōxoxouhqui tlahtōltecpantiliztli

Nota: Después de publicar, quizás necesite actualizar la caché de su navegador para ver los cambios.

  • Firefox/Safari: Mantenga presionada la tecla Shift mientras pulsa el botón Actualizar, o presiona Ctrl+F5 o Ctrl+R (⌘+R en Mac)
  • Google Chrome: presione Ctrl+Shift+R (⌘+Shift+R en Mac)
  • Internet Explorer/Edge: mantenga presionada Ctrl mientras pulsa Actualizar, o presione Ctrl+F5
  • Opera: Presiona Ctrl+F5.
/* </pre>
==Dynamic Navigation Bars (experimental)==
<pre> */
 // ============================================================
 // BEGIN Dynamic Navigation Bars (experimental)
 // FIXME: currently only works for one nav bar on a page at a time
 
 // set up the words in your language
 var NavigationBarHide = '[Hide]';
 var NavigationBarShow = '[Show]';
 
 // 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;
 //Honor the User Preferences
 if ( $.cookie('WiktionaryPreferencesShowNav') != 'true' ) {
         NavigationBarShowDefault = 0;
    } else {
      if ( mw.config.get('wgNamespaceNumber') == 0 ) NavigationBarShowDefault = 999 ;
    }
  
/* </pre>
===toggleNavigationBar===
<pre> */
 // 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;
                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;
                NavChild = NavChild.nextSibling
            ) {
            if (NavChild.className == 'NavPic') {
                NavChild.style.display = 'block';
            }
            if (NavChild.className == 'NavContent') {
                NavChild.style.display = 'block';
            }
        }
    NavToggle.firstChild.data = NavigationBarHide;
    }
 }
 
/* </pre>
===createNavigationBarToggleButton===
<pre> */
 // 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);
        }
    }
 
 }
 
$(createNavigationBarToggleButton);
 
 // END Dynamic Navigation Bars
 // ============================================================

/* </pre>

==addCharSubsetMenu==
<pre> */
/* add menu for selecting subsets of secial characters */
/***** must match MediaWiki:Edittools *****/
function addCharSubsetMenu() {
  var edittools = document.getElementById('editpage-specialchars');

  if (edittools) {
    var menu = "<select id=\"charSubsetControl\" style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">";
    menu += "<option>Templates</option>";
    menu += "<option>Latin/Roman</option>";
    menu += "<option>IPA</option>";
    menu += "<option>enPR</option>";
    menu += "<option>Misc.</option>";
    menu += "<option>Arabic</option>";
    menu += "<option>Armenian</option>";
    menu += "<option>Catalan</option>";
    menu += "<option>Cyrillic</option>";
    menu += "<option>Devanāgarī</option>";
    menu += "<option>Esperanto</option>";
    menu += "<option>Estonian</option>";
    menu += "<option>French</option>";
    menu += "<option>German</option>";
    menu += "<option>Gothic</option>";
    menu += "<option>Greek (Modern)</option>";
    menu += "<option>Greek (Ancient)</option>";
    menu += "<option>Hawaiian</option>";
    menu += "<option>Hebrew</option>";
    menu += "<option>Icelandic</option>";
    menu += "<option>Italian</option>";
    menu += "<option>Latvian/Lithuanian</option>";
    menu += "<option>Maltese</option>";
    menu += "<option>Old English</option>";
    menu += "<option>Pinyin</option>";
    menu += "<option>Portuguese</option>";
    menu += "<option>Romaji</option>";
    menu += "<option>Romanian</option>";
    menu += "<option>Scandinavian</option>";
    menu += "<option>Slavic Roman</option>";
    menu += "<option>Sorani Kurdish</option>";
    menu += "<option>Spanish</option>";
    menu += "<option>Turkish</option>";
    menu += "<option>Vietnamese</option>";
    menu += "<option>Welsh</option>";
    menu += "<option>Yoruba</option>";
    menu += "</select>";
    edittools.innerHTML = menu + edittools.innerHTML;

    /* default subset from cookie */
    var s = parseInt( $.cookie('edittoolscharsubset') );
    if ( isNaN(s) ) s = 0;

    /* update dropdown control to value of cookie */
    document.getElementById('charSubsetControl').selectedIndex = s; 

    /* display the subset indicated by the cookie */
    chooseCharSubset( s );
  }
}


/* </pre>
===chooseCharSubsetMenu===
<pre> */
/* select subsection of special characters */
function chooseCharSubset(s) {
  var l = document.getElementById('editpage-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';
  }
  $.cookie('edittoolscharsubset', s);
}



/* </pre>

==doRedirect==
<pre> */

/* Redirect if a case-insensitive search on an external link is found */
function doRedirect() {
  dym = document.getElementById('did-you-mean')
  if ( dym ) {
    if ( $.cookie('WiktionaryDisableAutoRedirect') != 'true' ) {
      var dymtarget = dym.firstChild.title ;
      var target = dymtarget ;
      pagetitle = document.getElementsByTagName('h1').item(0).firstChild.nodeValue;
      if (pagetitle == target) {
        alert('No looping allowed.');
        return;
      }
      if ( pagetitle.toLowerCase().replace(/[^a-z]/g, "") != target.toLowerCase().replace(/[^a-z]/g, "") ) {
        alert(target + " does not match " + pagetitle);
        return;
      }
      if ( pagetitle.search(/Editing /g) != -1 ) return;
      pagenamee = pagetitle.replace(/\ /g, "_");
      document.location.replace( '//en.wiktionary.org/wiki/Special:Search/' + pagenamee ) ;
    }
  }
}

/* </pre>

==fixEditSectionWikifiedLinks==
<pre> */
// edit-section still doesn't return to correct spot if link contains a [[wikified]] term.
function fixEditSectionWikifiedLinks() {
  if (/\.5B/.test(window.location.href)) {
    var url=window.location.href.replace(/.5B.5B:/g,"").replace(/.5B/g, "").replace(/.5D/g, "");
    window.location = url;
  }
  //#capiche_and_.7B.7Btemp.7Calternative_spelling_of.7D.7D
  if (/\.7B\.7Btemp\.7C(.*?)\.7D\.7D/.test(window.location.href)) {
    var url=window.location.href.replace(/\.7B\.7Btemp.7C/, ".7B.7B");
    window.location = url;
  }
}

/* </pre>

==Hide "Main Page" heading and several other elements on the Main Page==
<pre> */
 var mpTitle = "Wiktionary:Calīxatl";
 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; }' );

/* </pre>

== User Preferences (experimental) ==
<pre> */
// [[User:Connel MacKenzie/custom.js]] - User preferences
 importScript('User:Connel_MacKenzie/custom.js');

/* </pre>

== Wiktionary-specific tooltips ==
<pre> */
function wiktHeadingToolTips() {
}

/* </pre>
==customizeWiktionary==
<pre> */
/* do any Wiktionary-specific customizations */

/* FireFox and IE 7 allow sites to customize the integrated search box. Below exposes that through [[WT:CUSTOM]]. */
function integrateMediaWikiSearch() {
    window.external.AddSearchProvider('//en.wiktionary.org/w/index.php?title=MediaWiki:SearchEnWiktWithMediaWiki.xml&action=raw');
}
function integrateGoogleSearch() {
    window.external.AddSearchProvider('//en.wiktionary.org/w/index.php?title=MediaWiki:SearchEnWiktWithGoogle.xml&action=raw');
}
function integrateGoogleCrossWiktSearch() {
    window.external.AddSearchProvider('//en.wiktionary.org/w/index.php?title=MediaWiki:SearchAllWiktWithGoogle.xml&action=raw');
}
function integrateNinjawordsSearch() {
    window.external.AddSearchProvider('//en.wiktionary.org/w/index.php?title=MediaWiki:SearchWithNinjawords.xml&action=raw');
}
function addSearchProviderOptionsToWtCustom() {
    var addSearchProviders = document.getElementById('wtCustomIntegratedSearchProviders');
    if(addSearchProviders) {
        if(document.all) { addSearchProviders.innerText = ''; 
        } else {
            while (addSearchProviders.hasChildNodes())
                addSearchProviders.removeChild(addSearchProviders.firstChild);
        }

        var anchor = document.createElement("a");
        anchor.setAttribute('href', '#');
        if(document.all) { anchor.innerText = 'Add integrated search provider “English Wiktionary”.'; } else { anchor.textContent = 'Add integrated search provider “English Wiktionary”.'; }
        anchor.onclick = integrateMediaWikiSearch;
        addSearchProviders.appendChild( anchor ); 

        var br = document.createElement("br");
        addSearchProviders.appendChild( br );

        anchor = document.createElement("a");
        anchor.setAttribute('href', '#');
        if(document.all) { anchor.innerText = 'Add integrated search provider “English Wiktionary via Google”.'; } else { anchor.textContent = 'Add integrated search provider “English Wiktionary via Google”.'; }
        anchor.onclick = integrateGoogleSearch;
        addSearchProviders.appendChild( anchor ); 

        br = document.createElement("br");
        addSearchProviders.appendChild( br );

        anchor = document.createElement("a");
        anchor.setAttribute('href', '#');
        if(document.all) { anchor.innerText = 'Add integrated search provider “All Wiktionaries via Google”.'; } else { anchor.textContent = 'Add integrated search provider “All Wiktionaries via Google”.'; }
        anchor.onclick = integrateGoogleCrossWiktSearch;
        addSearchProviders.appendChild( anchor ); 

        br = document.createElement("br");
        addSearchProviders.appendChild( br );

        anchor = document.createElement("a");
        anchor.setAttribute('href', '#');
        if(document.all) { anchor.innerText = 'Add integrated search provider “English Wiktionary via Ninjawords”.'; } else { anchor.textContent = 'Add integrated search provider “English Wiktionary via Ninjawords”.'; }
        anchor.onclick = integrateNinjawordsSearch;
        addSearchProviders.appendChild( anchor ); 
    }
}

function customizeWiktionary() {
  doRedirect();
  addCharSubsetMenu();
  fixEditSectionWikifiedLinks();
  wiktHeadingToolTips();
  addSearchProviderOptionsToWtCustom();
}

$(customizeWiktionary);

/* Remember to keep [[MediaWiki:Standard.js]] in sync with this, for classic style! */

/* </pre>

== Link FA ==
<pre> */

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 &lt;li&gt;-elements
         for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
            // if found a FA link
            if(b.className == "interwiki-" + a.id) {
               b.className += " FA";
               b.title = "This article has gained featured status";
            }
         }
      }
   }
}

/* </pre> 

== Interproject links ==
<pre> */
/*
#########
### ProjectLinks
###  by [[user:Pathoschild]] (idea from an older, uncredited script)
###    * generates a sidebar list of links to other projects from {{projectlinks}}
#########
*/
function Projectlinks() {
        var elements = new Array();
        var spans = document.getElementsByTagName('span');
        
        // filter for projectlinks
        for (var i=0, j=0; i<spans.length; i++) {
                if (spans[i].className == 'interProject') {
                        elements[j] = spans[i].getElementsByTagName('a')[0];
                        j++;
                }
        }
        
        // sort alphabetically
        function sortbylabel(a,b) {
                // get labels
                a = a.innerHTML.replace(/^.*<a[^>]*>(.*)<\/a>.*$/i,'$1');
                b = b.innerHTML.replace(/^.*<a[^>]*>(.*)<\/a>.*$/i,'$1');

                // return sort order
                if (a < b) return -1;
                if (a > b) return 1;
                return 0;
        }
        elements.sort(sortbylabel);
        
        if (j) {
                // create navbox
                var plheader = document.createElement('h5');
                plheader.appendChild(document.createTextNode('In other projects'));
                var plbox = document.createElement('div');
                plbox.setAttribute('class','pBody');
                plbox.setAttribute('style','margin-top:0.7em;');
                var pllist = document.createElement('ul');

                // append
                for (var i=0; i<elements.length; i++) {
                        var plitem = document.createElement('li');
                        plitem.appendChild(elements[i]);
                        pllist.appendChild(plitem);
                }
                plbox.appendChild(plheader);
                plbox.appendChild(pllist);
                document.getElementById("p-tb").appendChild(plbox);
        }
}

$(Projectlinks);