Utilisateur:Stanlekub/monobook.js

Une page de Wikipédia, l'encyclopédie libre.
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
//<pre><nowiki>
var ModèleJournal = '<ref>{{Périodique\n'
+  '| auteur=\n'
+  '| titre=\n'
+  '| date=\n'
+  '| journal =\n'
+  '| ISSN =\n'
+  '| texte=\n'
+  '| consulté le=\n'
+  '| }}</ref>';
addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/b4/Button_lienjournal.png','Journal',ModèleJournal,'','','mw-editbutton-journal');

var ModèleJournal = '<ref>{{Article astronomique\n'
+  '| auteur=\n'
+  '| titre=\n'
+  '| année=\n'
+  '| revue =\n'
+  '| vol =\n'
+  '| no =\n'
+  '| pages =\n'
+  '| bibcode=\n'
+  '| consulté le=\n'
+  '| }}</ref>';
addCustomButton('//upload.wikimedia.org/wikipedia/commons/b/b4/Button_lienjournal.png','Journal',ModèleJournal,'','','mw-editbutton-journal');

/////////////////////////////////////////////////////

document.write('<script type="text/javascript" src="' 
             + '//fr.wikipedia.org/w/index.php?title=Utilisateur:Stanlekub/boiteastro.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');

document.write('<script type="text/javascript" src="' 
             + '//fr.wikipedia.org/w/index.php?title=Utilisateur:Stanlekub/boiteastronautique.js' 
             + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');



function URLencode(sStr) {
    return escape(sStr).replace(/\+/g, '%2B').replace(/\"/g,'%22').replace(/\'/g, '%27').replace(/\//g,'%2F');
  }

function googleOnglet() {
  var a = document.getElementById("p-cactions");
        if (a) 
        {
          var pageName = document.title.replace(" - Wikipédia", ""); 
          b = a.getElementsByTagName("ul");
		  
          if(b.length > 0)
          {
            b[0].innerHTML = b[0].innerHTML
            + '<li id="ca-nstab-user"><font style="color: blue; font-weight: bold; padding-left: 0.5em">G</font>'
            + '<a href="https://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Afr.wikipedia.org+%22' + pageName + '%22&btnG=Search">'
            + 'wp-fr</a>'
            + '<a href="https://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Aen.wikipedia.org+%22' + pageName + '%22&btnG=Search">'
            + 'wp-en</a>'
            + '<a href="https://www.google.fr/search?num=20&hl=fr&safe=off&q=%22' + pageName + '%22&btnG=Search&meta=lr%3Dlang_fr">'
            + 'web-fr</a>'
            + '<a href="https://www.google.fr/search?num=20&hl=en&safe=off&q=%22' + pageName + '%22&btnG=Search">'
            + 'web</a>'
            + '<a href="https://www.google.fr/search?num=20&hl=en&safe=off&q=site%3Afr.wiktionary.org+%22' + pageName + '%22&btnG=Search">'
            + 'wk-fr</a>'
	    + '</li>';
          }
        }
      }
      
$(googleOnglet);


addCustomButton('//upload.wikimedia.org/wikipedia/commons/6/62/Button_desambig.png','Homonymes',"{{Voir homonymes|","}}\r\n",'nom de la page d’homonymie');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/5/5e/Button_disambig_small.png','Homonyme',"{{Voir homonyme|","}}\r\n",'nom de la page d’homonymie');
addCustomButton('//upload.wikimedia.org/wikipedia/commons/0/00/Button_dicc.png','Wiktionnaire',"{{Wiktionnaire","}}\r\n",'');

/////////////////////////////////////////////////////////////////////
// [[:en:User:Lupin/popups.js]]          
// Traduction de [[Utilisateur:Leag/Navigation popups]]

importScript('MediaWiki:Gadget-Popups.js');

popupDabRegexp='([{][{]\\s*homonymie|homonymie\\s*|titres homonymes|.ersonnes homonymes[}][}])';
popupOnEditSelection = false;
imagePopupsForImages = false;
//popupRedirAutoClick = 'wpPreview';
popupFixRedirs = true;
popupFixDabs = true;
popupFixRedirsSummary = 'Correction de lien vers redirect [[%s]] > [[%s]]';
popupRevertSummary = 'Révocation des dernières modifications';
popupQueriedRevertSummary = 'Révocation des dernières modifications - retour à la version du $2 de [[Utilisateur:$3|$3]]'
popupRevertSummaryPrompt=true;
popupFixDabsSummary = '[[Projet:Liens vers les pages d\'homonymie|Correction lien vers page d’homonymie]] ([[%s]] > [[%s]])'


/* ajoute une classe à un element */
function addClass(elem,classe) {
  elem.className += " "+classe;
}

/* enlève la premiere occurence du nom d'une classe d'un element */
function removeClass(elem,classe) {
    var reg = new RegExp('(\\s|^)'+classe+'(\\s|$)');
    elem.className=elem.className.replace(reg,' '); //ne replace que la premiere occurence (comme ça les hide imbriqués restent en hide ^^)
}

/* Cette fonction ajoute un "onclick" sur chaque titre, qui lancera un appel à toggleTitle() lors d'un clic sur ceux ci */
function ImplementToggleOnclick() {
   for( var titleLevel = 1 ; titleLevel <= 6 ; titleLevel++) { //tous les h1, h2 ... h6
      var titleList = document.getElementsByTagName('h' + titleLevel)
      var nb = titleList.length
      for( var a = 0 ; a < nb ; a++) {
          titleList[a].setAttribute('onclick', "toggleTitle(this)");
      }
   }
  //pour que ça ne se replie pas quand on clique sur un bouton modifier, on annule l'event au niveau du lien
  var editLinkList = document.getElementsByClassName('editsection')
  nb = editLinkList.length
  for( a = 0 ; a < nb ; a++) {
     editLinkList[a].setAttribute('onclick', "event.cancelBubble=true;");
  }
}
$(ImplementToggleOnclick)

/* Cette fonction, quand invoquée, fait disparaitre ou réaparaitre le contenu placé sous un titre jusqu'au prochain titre de niveau egal ou supérieur
(= un h3 s'arrete au prochain h2 ou h3 mais continuera s'il rencontre un h4 ou h5) */
function toggleTitle(p_this) {
  var titre_niveau = p_this.nodeName.substring(1,2) //le x de hx (1 de h1, etc.)

  //construction de l'expression reguliere permettant le trouver le prochain titre de niveau égal ou supérieur
  var stopMatch = "(h1"
  for(var niveau = 2 ; niveau <= titre_niveau ; niveau++)  {
    stopMatch += "|h" + niveau
  }
  stopMatch += ")"
  regex_stopMatch = new RegExp(stopMatch, "i" )

  var nextSiblingNode = p_this.nextSibling

  if( p_this.className != "neko_toggle_cache"  ) { // il faut replier
    p_this.className = "neko_toggle_cache"  //on ajoute une classe au titre pour savoir s'il est en mode replié

    while( nextSiblingNode ) {
       if( nextSiblingNode.nodeName.match(regex_stopMatch) ) break; //on a atteint le titre "bloquant" suivant => stop
       if( nextSiblingNode.style && nextSiblingNode.nodeName != 'SCRIPT' ) addClass(nextSiblingNode, "hidden") //ne pas affecter les nodes texte ni script
       nextSiblingNode = nextSiblingNode.nextSibling //on passe au voisin suivant
    }
  } else { //il faut déplier
    p_this.className = ""

    while( nextSiblingNode ) {
       if( nextSiblingNode.nodeName.match(regex_stopMatch) ) break;
       if( nextSiblingNode.style && nextSiblingNode.nodeName != 'SCRIPT' ) removeClass(nextSiblingNode, "hidden")
       nextSiblingNode = nextSiblingNode.nextSibling
    }
  }
}


//</nowiki></pre>