MediaWiki:Monobook.js
Note: After publishing, you may have to bypass your browser's cache to see the changes.
- Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
- Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
- Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
- Opera: Press Ctrl-F5.
function OptionText() {
var indexNavigationBar = 0;
// iterate over all < span >-elements until class "OptionText" is found
for(
var i=0;
SpanElem = document.getElementsByTagName("span")[i];
i++
) {
// if found an option span
if (SpanElem.className == "OptionText") {
//SpanElem.style.display = 'none';
OptionTitle = SpanElem.title;
OptionStyle = SpanElem.firstChild.getAttribute('style');
//check if option was already encountered...
if(!document.getElementById(OptionTitle)){
//read cookie
var DisplayOptionDefault = true;
CookieDisplayOption = $.cookie("Display"+OptionTitle)
if (CookieDisplayOption ) {
if (CookieDisplayOption == "false") DisplayOptionDefault = false; }
var PageDisplay = document.createElement("li");
PageDisplay.setAttribute('id', OptionTitle);
var PageDisplayLink = document.createElement("a");
OptionText = document.createTextNode("Désactiver "+OptionTitle);
PageDisplayLink.appendChild(OptionText);
PageDisplayLink.setAttribute('href','javascript:displayOptionText("'+OptionTitle+'","' + OptionStyle +'", '+DisplayOptionDefault+');');
PageDisplay.appendChild(PageDisplayLink);
var optlist = document.getElementById("optlist");
if(!optlist) {
var displayOptions = document.createElement("div");
displayOptions.style.marginTop = "0.7em";
displayOptions.innerHTML = '<h5>optiones<\/h5><div class="pBody"><ul id="optlist"></ul><\/div>';
document.getElementById("p-tb").appendChild(displayOptions);
optlist = document.getElementById("optlist");
}
optlist.appendChild(PageDisplay);
displayOptionText(OptionTitle,OptionStyle,DisplayOptionDefault);
}
}
}
}
function displayOptionText(optiontitle, optionstyle, bool) {
$.cookie( "Display"+optiontitle, bool );
var PageDisplayLink = document.getElementById(optiontitle).firstChild;;
// iterate over all < span >-elements
for(
var i=0;
SpanElem = document.getElementsByTagName("span")[i];
i++
) {
// if found an option text
if ((SpanElem.className == "OptionText") && (SpanElem.title == optiontitle)) {
if(bool==true ) {
SpanElem.setAttribute('style',optionstyle);
PageDisplayLink.firstChild.data = (optiontitle);
PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", false);');
}
if(bool==false) {
SpanElem.setAttribute('style','null');
PageDisplayLink.firstChild.data = (optiontitle);
PageDisplayLink.setAttribute('href', 'javascript:displayOptionText("'+optiontitle+'","'+optionstyle+'", true);');
}
}
}
}
$(document).ready(OptionText);
function BilingualLink()
{
if( mw.config.get('wgNamespaceNumber') != 0) return;
var doc_url = document.URL;
var url = '';
// iterate over all <li>-elements
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
if(b.className.substring(0,10) == "interwiki-" ) {
var lang = b.className.substring(10,b.className.length);
if( doc_url.indexOf('?title=') != -1 ) {
var qm = doc_url.indexOf('&match=');
if( qm != -1 ) url = doc_url.substring(0,qm)+"&match="+lang;
else url = doc_url+"&match="+lang;
} else {
var qm = doc_url.indexOf('?');
if( qm != -1 ) url = doc_url.substring(0,qm)+"?match="+lang;
else url = doc_url+"?match="+lang;
}
b.innerHTML = b.innerHTML+"<a href='"+url+"'> ⇔</a>";
}
}
}
$(document).ready(BilingualLink);
function tabulae()
{
//tabula secunda
if( document.getElementById("infoedit") )
{
var b = document.getElementById("ca-talk");
if (b) {
b.childNodes[0] = "Fons";
}
}
}
jQuery(document).ready(tabulae);
function interwikiExtra()
{
// iterate over all <span>-elements
for(var i=0; a = document.getElementsByTagName("span")[i]; i++) {
// if found a linkInfo span
if(a.className == "interwiki-info") {
// iterate over all <li>-elements
var count=0;
for(var j=0; b = document.getElementsByTagName("li")[j]; j++) {
if(b.className == "interwiki-" + a.id) {
b.innerHTML = b.innerHTML + " "+a.title;
if(a.title == "(to)") { b.title = "Textus originalis"; }
}
else if(b.className == "interwiki-" + a.id.substr(0,a.id.length-1)) {
count = count+1;
if(a.id.charAt(a.id.length-1) == count) {
b.innerHTML = b.innerHTML + " "+a.title;
}
}
}
}
if(a.className == "AutreVersion") {
c = document.getElementById("p-lang");
e = c.getElementsByTagName("ul")[0];
p = a.title.indexOf("|");
e.innerHTML = e.innerHTML
+ "<li class=\"interwiki-fr\"><a href='"
+ a.title.substr(0,p)
+ "'>Français</a> " + a.title.substr(p+1,a.title.length-1) +"</li>";
}
}
}
jQuery(document).ready(interwikiExtra);
// INIZIO Collegamenti Interprogetto (codice adattato da de:wikt:Mediawiki:monobook.js)
mw.loader.using(['mediawiki.util']).done(function () {mw.util.addCSS('#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}')});
function iProject() {
if (document.getElementById("interProject")) {
var iProject = document.getElementById("interProject").innerHTML;
var interProject = document.createElement("div");
interProject.style.marginTop = "0.7em";
interProject.innerHTML = '<h5>Alii incepti<\/h5><div class="pBody">'+iProject+'<\/div>';
document.getElementById("p-tb").appendChild(interProject);
}
}
jQuery(document).ready(iProject);
/***
*Expressions régulières
*Auteur: ThomasV, Pathoschild
*Note : cet outil utilise la syntaxe javascript : on utilise $ (et pas \) pour appeler un groupe dans la chaîne de remplacement.
*Tutoriel : http://www.regular-expressions.info/tutorial.html
****/
/* create form */
function custom() {
/* if already open */
if(document.getElementById('regexform')) customremove()
else {
editbox = document.getElementById('wpTextbox1');
/* container */
regexform = document.createElement('div');
regexform.setAttribute('id','regexform');
editbox.parentNode.insertBefore(regexform,editbox.parentNode.firstChild);
/* form tag */
var formform = document.createElement('form');
formform.setAttribute('id','regexformform');
formform.setAttribute('onSubmit','customgo(); return false;');
regexform.appendChild(formform);
// add input boxes
var newinput = document.createElement('input');
newinput.setAttribute('id','formsearch');
newlabel = document.createElement('label');
newlabel.setAttribute('for','formsearch');
newlabel.appendChild(document.createTextNode("Substituere"));
formform.appendChild(newlabel);
formform.appendChild(newinput);
var newinput = document.createElement('input');
newinput.setAttribute('id','formreplace');
newlabel = document.createElement('label');
newlabel.setAttribute('for','formreplace');
newlabel.appendChild(document.createTextNode(' par '));
formform.appendChild(newlabel);
formform.appendChild(newinput);
// go! link
var go_button = document.createElement('input');
go_button.setAttribute('type',"submit");
go_button.setAttribute('title',"go!");
go_button.setAttribute('value',"go!");
formform.appendChild(go_button);
}
}
/* run patterns */
function customgo() {
/* get search and replace strings */
search = document.getElementById('formsearch').value;
search = search.replace(/\\n/g, '\n');
replace = document.getElementById('formreplace').value;
replace = replace.replace(/\\n/g, '\n');
/* convert input to regex */
// without delimiters
if(!search.match(/^\s*\/[\s\S]*\/[a-z]*\s*$/i)) {
search = new RegExp(search,'g');
}
// with delimiters
else {
// break into parts
var regpattern = search.replace(/^\s*\/([\s\S]*)\/[a-z]*\s*$/i,'$1');
var regmodifiers = search.replace(/^\s*\/[\s\S]*\/([a-z]*)\s*$/,'$1');
// filter invalid flags
regmodifiers = regmodifiers.replace(/[^gim]/ig,'');
search = new RegExp(regpattern, regmodifiers);
}
/* perform */
editbox.value = editbox.value.replace(search,replace);
}
/* remove form */
function customremove() {
regexform.parentNode.removeChild(regexform);
patterncount = -1;
}
/*******************
*** create button
********************/
function add_regexp_button(){
toolbar = document.getElementById("toolbar");
if(toolbar){
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 = "Expression régulière";
image.src = "//upload.wikimedia.org/wikipedia/commons/a/a0/Button_references_alt.png";
image.onclick = custom;
toolbar.appendChild(image);
}
}
$(document).ready(add_regexp_button)
/*********************
Indicateurs de qualité
Auteur: ThomasV
*********************/
function pageQuality() {
var a = document.getElementById("ca-nstab-main");
if(!a) return;
var q = document.getElementById("textquality")
if( q ) {
var t = q.className;
var new_img = document.createElement("img");
if(t == 'Textes validés') new_img.setAttribute("src", "//upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Compar%C3%A9.png/10px-Compar%C3%A9.png");
else new_img.setAttribute("src", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
new_img.setAttribute("title", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
a.firstChild.appendChild(new_img);
}
if( document.getElementById("Author") ) a.firstChild.innerHTML = "Auteur";
for(
var i=0;
spanElem = document.getElementsByTagName("span")[i];
i++
) {
if (spanElem.className == "pagequality") {
t = spanElem.title;
var new_img = document.createElement("img");
new_img.setAttribute("src", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
new_img.setAttribute("title", "/wiki/Special:Filepath/"+t.substring(0,t.length-1)+'%25.png');
if(mw.config.get('wgCanonicalNamespace') == "Pagina") {
a.firstChild.appendChild(new_img);
}
else {
s1 = spanElem.parentNode.previousSibling;
opttext = s1.firstChild.firstChild;
img = opttext.firstChild.nextSibling.nextSibling.nextSibling;
next = img.nextSibling;
opttext.removeChild(img);
opttext.insertBefore(new_img,next);
}
}
}
}
$(document).ready(pageQuality);
/****
*Mode édition
*****/
if(mw.config.get('wgAction')=='edit' || mw.config.get('wgAction')=='submit') {
/*
*Boutons Qualité
*Auteur: ThomasV
*/
function addQuality(form,value){
var text="";
switch(value){
case "0%": text = "Emendandum"; break;
case "25%": text = "Textus infectus"; break;
case "50%": text = "Textus non paratum"; break;
case "75%": text = "Perfectus et paratum"; break;
case "100%": text = "Bis lectus et emendatum"; break;
}
form.elements["wpSummary"].value="/* "+text+" */";
s = form.elements["wpTextbox1"].value;
if(mw.config.get('wgCanonicalNamespace') == "Pagina") {
prefix="Pagina";
s = s.replace(/\{\{PaginaQuality\|(.*?)\}\}/gi,"")
}
else {
prefix="Text";
s = s.replace(/\{\{TextQuality\|(.*?)\}\}/gi,"")
}
form.elements["wpTextbox1"].value="{"+"{"+prefix+"Quality|"+value+"}"+"}"+s;
}
function addQualityButtons(){
if( mw.config.get('wgNamespaceNumber') !=0 ) return;
var ig = document.getElementById("wpWatchthis");
if(ig) {
var f = document.createElement("span");
f.innerHTML = ' <input type="radio" name="quality" value="25%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/25%25.png">'+'<input type="radio" name="quality" value="50%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/50%25.png">'+'<input type="radio" name="quality" value="75%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/75%25.png">'+'<input type="radio" name="quality" value="100%" onclick="addQuality(this.form,this.value)"><img src = "/wiki/Special:Filepath/100%25.png"> Niveau d\’avancement du texte';
ig.parentNode.insertBefore(f,ig.nextSibling.nextSibling.nextSibling)
}
}
$(document).ready(addQualityButtons);
//Ressemble à la fonction de /w/skins/common/wikibits.js pour insérer un autre lien que insertTags
function marque_tab()
{
var toolbar = document.getElementById('toolbar');
if (!toolbar) return false;
var textbox = document.getElementById('wpTextbox1');
if (!textbox) return false;
if (!document.selection && textbox.selectionStart == null)
return false;
var image = document.createElement("img");
image.width = 23;
image.height = 22;
image.src = '//upload.wikimedia.org/wikipedia/commons/0/04/Button_array.png';
image.border = 0;
image.alt = 'Tableau';
image.title = 'Tableau';
image.style.cursor = "pointer";
image.onclick = function() {
popupTableau();
return false;
}
toolbar.appendChild(image);
}
$(document).ready(marque_tab);
} /* endif edition*/