MediaWiki:Gadget-Correlatos.js: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
Migration: $.escapeRE → mw.RegExp.escape |
m Migração: mw.RegExp.escape → mw.util.escapeRegExp |
||
Linha 34: | Linha 34: | ||
'en.wikibooks': 'en.Wikibooks' |
'en.wikibooks': 'en.Wikibooks' |
||
}; |
}; |
||
var sRegExp = new RegExp('^.+' + mw. |
var sRegExp = new RegExp('^.+' + mw.util.escapeRegExp( mw.config.get('wgServer') ) ); |
||
var pageURLend = decodeURI(document.URL.replace(sRegExp, '.org')); |
var pageURLend = decodeURI(document.URL.replace(sRegExp, '.org')); |
||
var enRegExp = new RegExp(mw.config.get('wgPageName')); |
var enRegExp = new RegExp(mw.config.get('wgPageName')); |
Edição atual desde as 13h28min de 6 de abril de 2020
/** Adiciona ligações para os correlatos na barra lateral ([[MediaZilla:708]])
* Adiciona links para os correlatos informados com [[Template:Correlatos]],
* nas páginas especiais e nas mensagens do MediaWiki
* @see [[wikt:de:MediaWiki:Onlyifsystem.js]]
* @see [[commons:MediaWiki:InterProject.js]]
* @author [[wikt:de:Melancholie]]
* @author [[wikt:de:Pill]]
* @author [[wikt:de:Spacebirdy]]
* @author [[wikt:de:Balû]]
* @author [[commons:User:Ilmari Karonen]]
* @author [[commons:User:DieBuche]]
* @author [[commons:User:Krinkle]]
*/
function getProjectListHTML() {
var interPr = document.getElementById('interProject');
var url;
if (interPr) {
return interPr.innerHTML;
}
if ($.inArray(mw.config.get('wgNamespaceNumber'), [-1, 8, 9]) === -1) {
return null;
}
var proj = {
'commons.wikimedia': 'Wikimedia Commons',
'pt.wikipedia': 'Wikipédia',
'pt.wiktionary': 'Wikcionário',
'pt.wikisource': 'Wikisource',
'pt.wikiversity': 'Wikiversidade',
'pt.wikinews': 'Wikinotícias',
'pt.wikiquote': 'Wikiquote',
'meta.wikimedia': 'Meta-Wiki',
'species.wikimedia': 'Wikispecies',
'en.wikibooks': 'en.Wikibooks'
};
var sRegExp = new RegExp('^.+' + mw.util.escapeRegExp( mw.config.get('wgServer') ) );
var pageURLend = decodeURI(document.URL.replace(sRegExp, '.org'));
var enRegExp = new RegExp(mw.config.get('wgPageName'));
pageURLend = pageURLend.replace(enRegExp, mw.config.get('wgCanonicalNamespace') + ':' + (mw.config.get('wgCanonicalSpecialPageName') || mw.config.get('wgTitle').replace(' ', '_')));
// var iProjectSys = document.createElement('div');
// iProjectSys.style.marginTop = '0.7em';
var list = '';
for (url in proj) {
if (proj.hasOwnProperty(url)) {
list += '<li><a href="//' + url + pageURLend + '">' + proj[url] + '<\/a><\/li>';
}
}
// list = '<h3>Correlatos<\/h3><div class="pBody"><ul>' + list + '<\/ul><\/div>';
list = '<ul>' + list + '<\/ul>';
return list;
// iProjectSys.innerHTML = list;
// document.getElementById( 'p-tb' ).appendChild( iProjectSys );
}
// TODO: Remover parte deste código quando o [[bugzilla:23515]] for resolvido
function renderProjectsPortlet() {
var idNum;
if (document.getElementById('p-interproject')) {
return; // avoid double inclusion
}
var listHTML = getProjectListHTML();
if (!listHTML) {
return;
}
var toolBox = document.getElementById('p-tb');
var panel;
if (toolBox) {
panel = toolBox.parentNode;
} else {
// stupid incompatible skins...
var panelIds = ['panel', 'column-one', 'mw_portlets', 'mw-panel'];
for (idNum = 0; !panel && idNum < panelIds.length; idNum++) {
panel = document.getElementById(panelIds[idNum]);
}
// can't find a place for the portlet, try to undo hiding
if (!panel) {
mw.util.addCSS('#interProject, #sisterProjects { display: block; }');
return;
}
}
var interProject = document.createElement('div');
interProject.id = 'p-interproject';
interProject.className = (mw.config.get('skin') === 'vector' ? 'portal' : 'portlet') + ' collapsed';
interProject.innerHTML =
'<h3>Correlatos<\/h3><div class="' + (mw.config.get('skin') === 'vector' ? 'body' : 'pBody') + '">' +
listHTML + '<\/div>';
if (toolBox && toolBox.nextSibling) {
panel.insertBefore(interProject, toolBox.nextSibling);
} else {
panel.appendChild(interProject);
}
}
$(renderProjectsPortlet);
// [[Categoria:Gadgets|Correlatos.js]]
// [[Categoria:Scripts do Wikilivros|Correlatos.js]]