Aller au contenu

Utilisateur:Zeph/common.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.
/*******************
Comparer des textes
Auteur : Candalua
*********************/
self.ws_messages['compare_with'] = 'Comparaison avec :';
self.ws_messages['compare_texts'] = 'Compare avec ce texte';
 
mw.loader.load('http://wikisource.org/w/index.php?title=MediaWiki:Compare.js&action=raw&ctype=text/javascript');
 
 
function interwikiExtra() {
    $(".interwiki-info").each(function(i, info) {
        var langLink = $("#p-lang .interwiki-" + info.id + " a");
        if(info.title == "(vo)") {
            langLink.after(' (<abbr title="Version originale">vo</abbr>)');
        } else {
            langLink.after(" " + info.title);
        }
    });
 
    //Autre versions
    if($(".AutreVersion").length != 0) {
        var linksList = $("<ul>");
        $(".AutreVersion").each(function(i, info) {
            p = info.title.indexOf("|");
 
            //ADDED LINK HERE
            linksList.append('<li><a href="' + info.title.substr(0,p) + '">' + info.title.substr(p+1,this.title.length-1) + '</a>'
            + '<a href="#" onclick="compare_ajax(\'fr\', \'' + info.title.substr(0,p).replace(/\'/g, "\\'") + '\')" title="'
            + ws_msg('compare_texts') + '"> ⇔</a></li>');
        });
        addNavBox('p-version', 'Autres versions', "<ul>" + linksList.html() + "</ul>", $('#p-lang'), true);   
    }
}
$(interwikiExtra);







/*********************
Indicateurs de qualité
Auteur: Tpt
*********************/
// <source lang="javascript">
 
if(typeof $j != 'undefined' && typeof $.fn.wikiEditor != 'undefined') {
  $(function() {
    $('#wpTextbox1').wikiEditor('addToToolbar', {
      sections: {
        'wikisource': { // id de la nouvelle section
          type: 'booklet',
          label: 'Wikisource',
          pages: {
            'wiki': {
              layout: 'characters',
              label: 'Syntaxe wiki',
              characters: []
            }
          }
        }
      }
    });
    $section = $('.section-wikisource .page-wiki div');
    $links = $('.mw-editTools .plainlinks p').eq(0);
    $links.find('a').each(function() {
      //alert($(this).text());
      $button = $('<span>');
      $button.text($(this).text());
      $button.attr('rel', $(this).text());
      $button.click($(this).attr('onclick'));
      $section.append($button);
    });
    $('.mw-editTools').remove();
  });
}
// </source>
 
 
if(typeof $j != 'undefined' && wgNamespaceNumber  == 0 && (wgAction == 'view' || wgAction == 'submit' || wgAction == 'purge')) {
  $(function() {
    var textquality = $('#textquality');
    var quality = textquality.attr("class");
    var text = {
      "00%": "La source du texte est inconnue.",
      "25%": "Le texte est en cours d'édition ; il n'y a pour le moment aucune garantie sur sa conformité à une quelconque édition scientifique, et il n'est sans doute pas complet.",
      "50%": "Texte en début de prise en charge et qui est apparemment complet, quoique sans garantie.",
      "75%": "Texte complet et formaté (y compris l'entête, la typographie, les catégories, etc.). Il reste à en corriger les coquilles ou « scannilles ».",
      "100%": "Texte relu par un premier contributeur disposant d'une édition de référence ; cette catégorie inclut les textes copiés d'un autre site utilisant une procédure de vérification similaire.",
      "Textes validés": "Texte relu par au moins deux contributeurs, validé et protégé, car conforme à une source identifiée publiquement vérifiable."
    }
    if(quality != '' && typeof text[quality] != 'undefined') {
      mw.loader.using( ['jquery.ui'], function() {
        var message = $('<div id="qualitydialog" title="État d’avancement"></div>').appendTo("#content").html("<p>" + text[quality] + "</p>");
        message.dialog({
          autoOpen: false,
          buttons: {
            Ok: function() {
              $(this).dialog("close");
            }
          }
        });
        var li = $('<li></li>').appendTo("#p-Lire div ul");
        var link = $('<a href="#">Avancement du texte</a>').appendTo(li).click(function() {
          message.dialog("open");
        });
      });
    }
  });
}




/*<pre><nowiki>*/
//Wikipedia:WikiProject User scripts | Scripts
 
function format() {
    var txt = document.editform.wpTextbox1;
    txt.value = typo(txt.value);
    txt.value = linksimplifyer(txt.value);
}
 
function typo(str){

     //espace 
    str = str.replace(/\n +/g, "\n");


    // espace
    str = str.replace(/(\n\n\n)+/g, "\n");
    str = str.replace(/- \n/g, "");
    // fix divers
    str = str.replace(/  /g, " ");

    // typographie
    str = str.replace(/ -/g, " —");
    str = str.replace(/- /g, "— ");
    str = str.replace(/ - /g, " — ");
    str = str.replace(/ -,/g, " —,");
    str = str.replace(/ - ,/g, " —,");

    str = str.replace(/( *);( *)/g, " ; ");
    str = str.replace(/( *)\!( *)/g, " ! ");
    str = str.replace(/( *):( *)/g, " : ");
    str = str.replace(/( *)\?( *)/g, " ? ");
    str = str.replace(/( *),( *)/g, ", ");
    str = str.replace(/(\[\[.*?) :/g, "$1:");
    str = str.replace(/: (.*?\]\])/g, ":$1");

    str = str.replace(/([^'])'([^'])/g, "$1’$2");
    str = str.replace(/’ /g, "’");
    str = str.replace(/ ’/g, "’");
    str = str.replace(/ ’ /g, "’");
    str = str.replace(/ '',/g, "'',");
    str = str.replace(/ ''\./g, "''.");    
    str = str.replace(/ \./g, "\.");
    str = str.replace(/’test’/g, "'test'");
    str = str.replace(/\[\[[Ii]mage : /g, "[[Image:");
    str = str.replace(/\[\[[Ii]mage :/g, "[[Image:");
    str = str.replace(/\[\[[Ii]mage: /g, "[[Image:"); 

    str = str.replace(/\.\.\./g, "…");
    str = str.replace(/\.\.\.\.+/g, "\.\.\.");
    str = str.replace(/etc\.\.+/g, "etc\.");

    str = str.replace(/oeu/g, "œu");
    str = str.replace(/O[Ee]/g, "Œ");

    str = str.replace(/"([^"].*?)"/g, "«$1»");
    str = str.replace(/( *)«( *)/g, " « ");
    str = str.replace(/\n «/g, "\n« ");
    str = str.replace(/( *)»( *)/g, " » ");
    str = str.replace(/ « text » /g, "\"text\"");
    str = str.replace(/» ,/g, "»,");

    str = str.replace(/(\f*)’(\f*)/g, "’");

    // fix catégories
    str = str.replace(/\[\[ ?[Cc]ategory/g, "[[Catégorie");
    str = str.replace(/\[\[ ?[Cc]atégorie ?: ?/g, "[[Catégorie:");

    // réparation liens internes
    str = str.replace(/\[\[ ?([^\]]*?) ?\]\]/g, "[[$1]]");
    str = str.replace(/\[\[([^\]]*?)( |_)#([^\]]*?)\]\]/g, "[[$1#$3]]");

    // syntaxe wiki
    str = str.replace(/<i>(.*?)<\/i>/gi, "''$1''");
    str = str.replace(/<b>(.*?)<\/b>/gi, "'''$1'''");
    str = str.replace(/<br\/>/gi, "<br />");
    str = str.replace(/<br>/gi, "<br />");

    //* puces
    str = str.replace(/^([\*#]+) /gm, "$1");
    str = str.replace(/^([\*#]+)/gm, "$1 ");

    //mise en page
    str = str.replace(/\n*(\{\{Titre)/g, "\n$1");
    str = str.replace(/\n*(\{\{Navigateur)/g, "\n$1");
    str = str.replace(/\[\[(.*?) —/g, "\[\[$1 -");
    str = str.replace(/\|( *)—( *)/g, "\|");

    return trim(str);
}

//simplifier certains liens : [[Dog|dog]] to [[dog]] and [[Dog|dogs]] to [[dog]]s
function linksimplifyer(str){
  var m = str.match(/\[\[([^[]*?)\|([^[]*?)\]\]/g);
  if (m)
  {
    for (var i = 0; i < m.length; i++)
    {
      var n_arr = m[i].toString().match(/\[\[([^[]*?)\|([^[]*?)\]\]/);
      var n = n_arr[0];
      var a = n_arr[1];
      var b = n_arr[2];
 
      if (b.indexOf(a) == 0 || b.indexOf(TurnFirstToLower(a)) == 0)
      {
        var k = n.replace(/\[\[([^\]\|]*?)\|(\1)([\w]*?)\]\]/i, "[[$2]]$3");
        str = str.replace(n, k);
      }
    }
  }
 
  str = str.replace(/\[\[([^\]\|]+)\|([^\]\|]+)\]\]([A-Za-z\'][A-Za-z]*)([\.\,\;\:\"\!\?\s\n])/g, "[[$1|$2$3]]$4");
 
  return str;
}

//trim start and end, trim spaces from the end of lines
function trim(str) {
   str = str.replace(/ $/gm, "");
   return str.replace(/^\s*|\s*$/g, "");
}
 
//turns first character to lowercase
function TurnFirstToLower(input) {
  if (input != "")
  {
    var input = trim(input);
    var temp = input.substr(0, 1);
    return temp.toLowerCase() + input.substr(1, input.length);
  }
  else
    return "";
}

$(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:format()', 'typo', 'ca-format', 'Corrections de la mise en page et de la typographie', '', document.getElementById('ca-edit'));
  }
});

function form() {
    var txt = document.editform.wpTextbox1;
    txt.value = fr(txt.value);
    txt.value = linksimplifyer(txt.value);
}

function fr(str){

    //descartes
    str = str.replace(/lorsque/g, "lors que");
    str = str.replace(/ss/g, "ſſ");
    str = str.replace(/ê/g, "eſ");
    str = str.replace(/ et /g, " & ");
    str = str.replace(/â/g, "a");
    str = str.replace(/s([a-zé])/g, "ſ$1");
    str = str.replace(/mouvements/g, "mouvemens");
    str = str.replace(/celui/g, "celuy");
    str = str.replace(/ ſoi/g, " ſoy");
    str = str.replace(/ici/g, "icy");
    str = str.replace(/notre/g, "noſtre");
    str = str.replace(/ô/g, "oſ");
    str = str.replace(/és/g, "ez");
    str = str.replace(/lui/g, "luy");
    str = str.replace(/ſait/g, "ſçait");
    str = str.replace(/quoi/g, "quoy");
    str = str.replace(/veine/g, "vene");
    str = str.replace(/très /g, "tres-");
    str = str.replace(/ moi /g, " moy ");
    str = str.replace(/([Tt])oi /g, "$1oy ");
    str = str.replace(/toi,/g, "toy,");
    str = str.replace(/ toi\./g, " toy.");
    str = str.replace(/([a-z])ait /g, "$1oit ");
    str = str.replace(/ ai /g, " ay ");
    str = str.replace(/ ’ai /g, " ’ay ");
    str = str.replace(/ effet /g, " effect ");

    return trim(str);
}

$(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:form()', 'fr', 'ca-form', 'Corrections de la mise en page et de la typographie', '', document.getElementById('ca-edit'));
  }
});

var predefinedSummaries = {
    "Liste": "",
    "Lien": "Lien(s)",
    "Mise à jour": "Mise à jour",
    "Ajout": "Ajout",
    "Correction" : "Correction",
    "Précision": "Précision",
    "Mise en forme": "Mise en forme",
    "Compléments": "Compléments",
    "Création": "Création"
};

$(function () {
    var summary = document.getElementById("wpSummary");
    if (!summary) return;

    var dropdown = document.createElement("select");
    dropdown.style.width = "10%";

    for (var label in predefinedSummaries) {
        var option = document.createElement("option");
        option.setAttribute("value", predefinedSummaries[label]);
        option.appendChild(document.createTextNode(label));
        dropdown.appendChild(option);
    }

    dropdown.onchange = function () {
        summary.value = summary.value.replace(/(\/\*.*?\*\/\s+)?.*/,
            "$1" + dropdown.options[dropdown.selectedIndex].value);
    };

    summary.parentNode.insertBefore(dropdown, summary.nextSibling);
});

/* </nowiki></pre> */


/**
 * Menu de Gauche
 *
 * Rajoute des liens
 *
 * Auteur : FredB.
 */
 function nouvelleBoite() {
    var l = document.getElementById('column-one');
    if (!l) return;
    l.innerHTML = l.innerHTML
     + '<div class="portlet" id="p-nbx">'
     + ' <div class="pBody">'
     + '   <ul>'
     + '     <li><a href="http://fr.wikisource.org/wiki/Livre:S%C3%A9vign%C3%A9_-_Lettres,_%C3%A9d._Monmerqu%C3%A9,_1862,_tome_4.djvu">Sévigné</a></li>'
     + '     <li><a href="http://fr.wikisource.org/wiki/Utilisateur:Zyephyrus/Créer1">Agenda</a></li>'
     + '     <li><a href="http://fr.wikisource.org/wiki/Utilisateur:Zyephyrus/Test">Anglais</a></li>'
     + '     <li><a href="http://fr.wikisource.org/wiki/Fables_de_La_Fontaine_%28%C3%A9dition_originale%29">Fables</a></li>'
     + '     <li><a href="http://fr.wikisource.org/w/index.php?title=Wikisource:Dictionnaire&action=edit">Dictionnaire</a></li>'
     + '     <li><a href="http://fr.wikisource.org/wiki/Wikisource:Icones">Trousse</a></li>'
     + '     <li><a href="http://fr.wikisource.org/wiki/Aide:Robots">Bots</a></li>'
     + '     <li><a href="http://toolserver.org/~magnus/category_intersection.php">Intersection</a></li>'
     + '     <li><a href="http://toolserver.org/~magnus/catscan_rewrite.php?language=fr&project=wikisource&categories=Textes+valid%C3%A9s&after=20110630&sortby=date&sortorder=descending">Catscan</a></li>'
     + '     <li><a href="http://toolserver.org/~magnus/bong.php">Bong</a></li>'
     + '     <li><a href="http://vs.aka-online.de/cgi-bin/wppagehiststat.pl">Page stats</a></li>'
     + '     <li><a href="http://classiques.uqac.ca/classiques/">Classiques</a></li>'
     + '   </ul>'
     + ' </div>'
     + '</div> ';
  }
  addOnloadHook(nouvelleBoite);


/**
 * Catégories à Gauche
 *
 * Met les catégories dans un panneau de navigation
 *
 * Auteur : Jmfayard
 * Dernière révision : 3 novembre 2006
 * [[Catégorie:MediaWiki:Fonction Monobook en JavaScript]]
 */
 
function CategoriesAGauche() {
 
        var catlinks = document.getElementById("catlinks");
        if (!catlinks) { return; }
        var categories = catlinks.getElementsByTagName("a") ;
 
        var h5_cats = document.createElement( "h5" );
        var text = document.createTextNode( " " ) ;
        h5_cats.appendChild( text ) ;
 
        var div_cats = document.createElement( "div" );
        div_cats.setAttribute( "class", "pBody" );
 
        var ul = document.createElement( "ul" );
 
        var a_debut = 1 ; // evitons le lien Categories:
        for (var i = a_debut ; i < categories.length ; i++ ) {
                var a = categories[i] ;
                var li = document.createElement( "li" ) ;
                li.appendChild( a.cloneNode(1) ) ;
                ul.appendChild( li );
        }
 
        div_cats.appendChild( ul ) ;
 
 
        var portlet = document.createElement( "div" ) ;
        portlet.setAttribute( "class", "portlet" );
        portlet.setAttribute( "id", "p-cat" ) ;
 
        portlet.appendChild( h5_cats ) ;
 
        portlet.appendChild( div_cats ) ;
 
        //document.getElementById("column-one").insertBefore( document.getElementById("p-search"),  portlet ) ;
        //document.getElementById("column-one").appendChild(  portlet ) ;
        div_ptb = document.getElementById( "p-Lire" );
        document.getElementById("column-one").insertBefore( portlet, div_ptb)
 
}
addOnloadHook( CategoriesAGauche ) ;


/**********************************************************/
/* Insertion de nouveaux boutons dans la barre d'outils   */
/* "http://fr.wikipedia.org/wiki/MediaWiki:Common.js"     */
/* "http://fr.wikisource.org/wiki/MediaWiki:Monobook.js"  */
/**********************************************************/
/*
function addCustomButton(imageFile, speedTip, tagOpen, tagClose, sampleText, imageId) {
  mwCustomEditButtons[mwCustomEditButtons.length] =
    {"imageId": imageId,
     "imageFile": imageFile,
     "speedTip": speedTip,
     "tagOpen": tagOpen,
     "tagClose": tagClose,
     "sampleText": sampleText};
}
*/


/* bouton section Noinclude*/
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/d/d5/Button_noinclude.png',
                'Noinclude',
                '<noinclude>',
                '</noinclude>',
                'Insert text here',
                'bouton_4');
 
/* bouton section begin*/
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/thumb/7/71/Progress-0625.svg/20px-Progress-0625.svg.png',
                'section Begin',
                '<section begin=',
                ' />',
                '',
                'bouton_5');
 
/* bouton section end */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Progress-0750.svg/20px-Progress-0750.svg.png',
                'section End',
                '<section end=',
                ' />',
                '',
                'bouton_6');


/* bouton Match */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/9/97/Template_button.png',
                'Match',
                '==__MATCH__:[[',
                ']]==',
                '',
                'bouton_7');


/* bouton Auteur */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/83/Button_biocitas.png',
                'Auteur',
                '[[Auteur:',
                '|]]',
                'Insert link here',
                'bouton_8');

/* bouton includeonly */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/0/01/Button_includeonly_green.png',
                'includeonly',
                '<includeonly>',
                '</includeonly>',
                '-',
                'bouton_9');

/* bouton CorrDiscussion */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/8/8d/Button_no_source_no_license.png',
                'subst:CorrDiscussion',
                '<section begin=correction/>{{CorrDiscussion/lst|:',
                '|||ligne=|par=|expl=|endroit=}}<section end=correction/>',
                '',
                'bouton_10');
 

/* bouton pages index */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/6/6a/Nuvola_apps_icons.png',
                'Pages',
                '<pages index=',
                'from= to= fromsection= tosection= header=1 />',
                '',
                'bouton_11');


/* bouton lang */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/f/ff/Button_l_la.png',
                'lang',
                '{{lang|la|',
                '}}',
                'Ici',
                'bouton_12');

/* bouton s classique */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/1/13/Button_API_%CA%83.png',
                'S classique',
                'ſ',
                '',
                '',
                'bouton_13');


/* bouton lang */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/4/4e/Button_ELSneu.png',
                'lang',
                '{{lang|grc|',
                '}}',
                'Ici',
                'bouton_14');



/* bouton ’ */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/3/32/Button_apostrophe.PNG',
                'Apostrophe',
                '’',
                '',
                '',
                'bouton_15');

/* bouton Test */
addCustomButton('http://upload.wikimedia.org/wikipedia/commons/2/28/Button_info.png',
                'Test',
                '{{subst:\nTest}}\n~~' + '~~',
                '',
                '',
                'bouton_16');


/*Formulaire Auteur*/

mw.loader.load('http://fr.wikisource.org/w/index.php?title=Utilisateur:Tpt/Auteur.js&action=raw&ctype=text/javascript');



/*Bouton Trévoux*/
 
document.write('<script type="text/javascript" src="' 
   + 'http://fr.wikisource.org/w/index.php?title=User:Acer11/Trévoux.js'
   + '&action=raw&ctype=text/javascript&dontcountme=s"></script>');
 
function format1() {
    var txt = document.editform.wpTextbox1;
    txt.value = typo1(txt.value);
}
 
function typo1(str){
    str = str.replace(/- *\n/g, "");
    str = str.replace(/ *\n/g, " ");
    str = str.replace(/\.\.\./g, "…");
    str = str.replace(/'/g, "’");
    return str;
}
 
function format2() {
    var txt = document.editform.wpTextbox1;
    txt.value = typo2(txt.value);
}
 
function typo2(str){
    str = str.replace(/\.\.\./g, "…");
    str = str.replace(/([^'])'([^'])/g, "$1’$2");
    str = str.replace(/oe([uistcdn])/g, "œ$1");
    str = str.replace(/\n- */g, "\n— ");
    str = str.replace(/ - /g, " — ");
    str = str.replace(/( *);( *)/g, " ; ");
    str = str.replace(/([a-zA-Zàâéèêëïîôùü])\!/g, "$1 !");
    str = str.replace(/( *):( *)/g, " : ");
    str = str.replace(/([a-zA-Zàâéèêëïîôùü])\?/g, "$1 ?");
    str = str.replace(/( *),( *)/g, ", ");
    return str;
}
 
$(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:format1()', 'césure', 'ca-format', 'Corrections de la typographie et des césures en mode page', '', document.getElementById('ca-edit'));
  }
});
 
$(function () {
  if(document.forms.editform) {
    mw.util.addPortletLink('p-personal', 'javascript:format2()', 'typo', 'ca-format', 'Corrections de la mise en page et de la typographie', '', document.getElementById('ca-edit'));
  }
});
 
var predefinedSummaries = {
    "Liste": "",
    "Lien": "Lien(s)",
    "Mise à jour": "Mise à jour",
    "Précision": "Précision(s)",
    "Correction" : "Correction(s)",
    "LST": "Section(s) étiquetée(s)",
    "Mise en forme": "Mise en forme",
    "Fusion d’historiques": "Fusion d’historiques",
    "Transclusion": "Transclusion"
};
 
$(function () {
    var summary = document.getElementById("wpSummary");
    if (!summary) return;
 
    var dropdown = document.createElement("select");
    dropdown.style.width = "10%";
 
    for (var label in predefinedSummaries) {
        var option = document.createElement("option");
        option.setAttribute("value", predefinedSummaries[label]);
        option.appendChild(document.createTextNode(label));
        dropdown.appendChild(option);
    }
 
    dropdown.onchange = function () {
        summary.value = summary.value.replace(/(\/\*.*?\*\/\s+)?.*/,
            "$1" + dropdown.options[dropdown.selectedIndex].value);
    };
 
    summary.parentNode.insertBefore(dropdown, summary.nextSibling);
});