Utilisateur:Od1n/Codes modèles siècles.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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.mw.loader.using(['mediawiki.api', 'mediawiki.util'], function () {
var modeles = ['S', 'S-', '-s', '-s-', 'Sav', 'Sav-', 'Sap', 'S mini', 'S mini-', '-s mini', '-s mini-', 'S2', 'S2-', '-s2', '-s2-', 'Sp', 'Sp-', '-sp', '-sp-', 'Spa'];
var nsModeles = modeles.map(function (name) {
return 'Modèle:' + name;
});
var contents = {};
new mw.Api()
.get({
action: 'query',
titles: nsModeles,
prop: 'revisions',
rvprop: 'content',
formatversion: 2,
})
.done(function (data) {
data.query.pages.forEach(function (page) {
var content = page.revisions[0].content
.replace(/^<includeonly>/, '')
.replace(/(<!--\n\n-->)?<\/includeonly><noinclude>\n?\{\{Documentation\}\}\n?<\/noinclude>$/, '');
contents[page.title] = content;
});
$(render);
});
function render($) {
var $output = $('<div>');
nsModeles.forEach(function (title) {
var $link = $('<a>')
.attr('href', mw.util.getUrl(title))
.text(title.replace(/^Modèle:/, ''));
var $h4 = $('<h4>').append($link);
var $pre = $('<pre>').text(contents[title]);
$output.append($h4, $pre);
});
var placeholder = $('#codes-modeles-siecles');
if (placeholder.length) {
placeholder.append($output);
} else {
$('#mw-content-text').prepend($output);
}
}
});