Utilisateur:Arkanosis/aib.js
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) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*
***************************************************************************
** aib - Permet d'ajouter rapidement une infobox pré-remplie
** Compatibilité : frwiki uniquement
** Support : Discussion_utilisateur:Arkanosis
** Licence : domaine public
**
** Installation : ajouter
** importScript('Utilisateur:Arkanosis/aib.js');
** dans le monobook.js
*/
function aibAddInfoboxBiographie()
{
var content = document.getElementById('wpTextbox1');
// Name (this one is easy)
var name = mw.config.get('wgTitle');
if ((paren = name.indexOf(' (')) != -1)
name = name.substring(0, paren);
// Birth name
// TODO
// Date of birth
var dateOfBirth = '';
var dateOfBirthExtractor = new RegExp('.*né le ({{[^}]+}}).*');
var dateOfBirthMatch = dateOfBirthExtractor.exec(content.value);
if (dateOfBirthMatch)
dateOfBirth = dateOfBirthMatch[1];
else
{
dateOfBirthExtractor = new RegExp('.*[Nn]aissance en ([0-9]+).*');
dateOfBirthMatch = dateOfBirthExtractor.exec(content.value);
if (dateOfBirthMatch)
dateOfBirth = '[[' + dateOfBirthMatch[1] + ']]';
else
{
dateOfBirthExtractor = new RegExp('.*né en ([[)?([0-9]+).*');
dateOfBirthMatch = dateOfBirthExtractor.exec(content.value);
if (dateOfBirthMatch)
dateOfBirth = '[[' + dateOfBirthMatch[2] + ']]';
}
}
// Date of death
var dateOfDeath = '';
var dateOfDeathExtractor = new RegExp('(mort|décédé) le ({{[^}]+}})');
var dateOfDeathMatch = dateOfDeathExtractor.exec(content.value);
if (dateOfDeathMatch)
dateOfDeath = dateOfDeathMatch[2];
else
{
dateOfDeathExtractor = new RegExp('.*[Dd]écès en ([0-9]+).*');
dateOfDeathMatch = dateOfDeathExtractor.exec(content.value);
if (dateOfDeathMatch)
dateOfDeath = '[[' + dateOfDeathMatch[1] + ']]';
else
{
dateOfDeathExtractor = new RegExp('.*(mort|décédé) en ([[)?([0-9]+).*');
dateOfDeathMatch = dateOfDeathExtractor.exec(content.value);
if (dateOfDeathMatch)
dateOfDeath = '[[' + dateOfDeathMatch[3] + ']]';
}
}
// Age of death
var ageOfDeath = '';
// TODO compute it
// Place of birth
var placeOfBirth = '';
// TODO
// Place of death
var placeOfDeath = '';
// TODO
content.value
= '{{Infobox biographie\n'
+ '| nom = ' + name + '\n'
+ '| image = \n'
+ '| taille image = \n'
+ '| légende = \n'
+ '| nom de naissance = \n'
+ '| surnom = \n'
+ '| date de naissance = ' + dateOfBirth + '\n'
+ '| lieu de naissance = ' + placeOfBirth + '\n'
+ '| date de décès = ' + dateOfDeath + '\n'
+ '| âge au décès = ' + ageOfDeath + '\n'
+ '| lieu de décès = ' + dateOfDeath + '\n'
+ '| nationalité = \n'
+ '| profession = \n'
+ '| occupation = \n'
+ '| formation = \n'
+ '| hommage = \n'
+ '| activités autres = \n'
+ '| note = \n'
+ '| famille = \n'
+ '| legende = \n'
+ '}}\n'
+ content.value;
document.getElementById('wpSummary').value = '[[Discussion_utilisateur:Arkanosis/aib.js|aib]] : Ajout d\'une infobox biographie';
document.getElementById('wpPreview').click();
}
function aib()
{
if (location.href.indexOf('&aibAddInfoboxBiographie') != -1)
aibAddInfoboxBiographie();
}
$(aib);