Utilisateur:Phe/Move refs.js

La bibliothèque libre.

Note : après avoir enregistré vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

  • Firefox / Safari : Maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ou Ctrl-R (⌘-R sur un Mac) ;
  • Google Chrome : Appuyez sur Ctrl-Maj-R (⌘-Shift-R sur un Mac) ;
  • Internet Explorer : Maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5 ;
  • Opera : Allez dans Menu → Settings (Opera → Préférences sur un Mac) et ensuite à Confidentialité & sécurité → Effacer les données d'exploration → Images et fichiers en cache.
function get_references(){

    var editbox = document.getElementById('wpTextbox1');
    var text = editbox.value = editbox.value;
    var msg="";

    for(i=1;i<200;i++){
       nn="["+i+"]";

       while(1){
         pos1 = text.indexOf(nn);
         if(pos1==-1) break;
         reg = new RegExp("<small>\\s*\\["+i+"\\]\\s*(.*?)<\\/small>(<br\\s*\\/>|)", "");
         m = text.match(reg);
         if(m) {
            msg = msg + nn+" : "+m[1].substring(0,30)+"...\n";
            text = text.substring(0,pos1)+"<" + "ref>"+m[1]+"</ref>"+text.substring(pos1+nn.length);
            text = text.replace(m[0],"");
         }
         else { msg = msg + "no match for "+nn+"\n"; break; }
       }
    }
    alert(msg);
    editbox.value = text; 
}

function add_refs_button(){
 
    var toolbar = document.getElementById("toolbar");
	if(toolbar /*&& wgNamespaceNumber==0*/){
		var image = document.createElement("img");
		image.width = 23;
		image.height = 22;
		image.border = 0;
		image.className = "mw-toolbar-editbutton";
		image.style.cursor = "pointer";
		image.alt = "regexp";
		image.title = "Détection et conversion des références";
		image.src = "http://upload.wikimedia.org/wikipedia/commons/c/c4/Button_ref.png";
		image.onclick = get_references;
		toolbar.appendChild(image);
        }
}
 
$(document).ready(add_refs_button)