Usuario:Emijrp/DescriptionsToCommons.js
Apariencia
Nota: Después de guardar, debes refrescar la caché de tu navegador para ver los cambios. Internet Explorer: mantén presionada Ctrl mientras pulsas Actualizar. Firefox: mientras presionas Mayús pulsas el botón Actualizar, (o presiona Ctrl-Shift-R). Los usuarios de Google Chrome y Safari pueden simplemente pulsar el botón Recargar. Para más detalles e instrucciones acerca de otros exploradores, véase Ayuda:Cómo limpiar la caché.
// ==UserScript==
// @name DescriptionsToCommons
// @namespace CheckAvailability
// @description Move image descriptions from Wikipedia articles to Commons
// @include *
// @exclude
//
// @homepage http://es.wikipedia.org/wiki/Usuario:Emijrp/DescriptionsToCommons
// @source http://es.wikipedia.org/wiki/Usuario:Emijrp/DescriptionsToCommons.js
// @author emijrp (http://es.wikipedia.org/wiki/Usuario:Emijrp)
// @license GPL 3
// ==/UserScript==
function getParameter(par){
regex = new RegExp ("[\\?&]"+par+"=([^&#]*)");
result = regex.exec(unescape(window.location.href));
if (result == null)
return "";
return result[1];
}
excluded_images=/((commons|wikinews|wikisource|wikispecies|wikiversity)\-logo\.svg)/i;
//excluded_images=/\.(pne?g|svg)/i;
//estamos en una wikipedia?
//alert(window.location.href);
url=unescape(window.location.href);
if (url.search(/[a-z][a-z]\.wikipedia\.org\/wiki/)!=-1)
{
lang=url;
lang=lang.replace(/http:\/\//, '');
lang=lang.replace(/\.wikipedia\.org.*/, '');
var html = document.body.innerHTML;
article='';
m=html.match(/\<h1 id\=\"firstHeading\" class\=\"firstHeading\"\>[^\<]*?\<\/h1\>/g);
if (m)
{
for (i=0;i<m.length;i++)
{
article=m[i];
article=article.replace(/.*?\>/, '');
article=article.replace(/\<.*/, '');
}
}
var reg = /\<a href\=\"\/wiki\/[^\: ]*?\:([^\"]*?)\" class\=\"image\" title\=\"([^\"]*?)\"\>/g;
m=html.match(reg);
if (m)
{
for (i=0;i<m.length;i++)
{
a=m[i];
imagen=desc=a;
imagen=imagen.replace(/\<a href\=\"\/wiki\/[^\:]*?\:/g, '');
imagen=imagen.replace(/\" class\=\"image\".*/g, '');
imagen_=imagen;
imagen=imagen.replace(/_/g, ' ');
desc=desc.replace(/.*class\=\"image\" title\=\"/g, '');
desc=desc.replace(/\"\>/g, '');
//metemos enlace a commons
if (imagen!=desc && desc.length>15 && imagen.search(excluded_images)==-1) {
urlcommons='http://commons.wikimedia.org/w/index.php?title=File:'+imagen_+'&action=edit&lang='+lang+'&article='+escape(article)+'&desc='+escape(desc)
html=html.replace('px;">'+a, 'px;"><small><a href="'+urlcommons+'">Send description</a> to Commons</small>'+a);
}
}
}
document.body.innerHTML = html;
}
//estamos en commons?
if (url.search(/commons\.wikimedia\.org\/w/)!=-1)
{
lang=getParameter("lang");
desc=getParameter("desc");
article=getParameter("article");
if (lang!="" && desc!="" && article!="")
{
text=document.getElementById("wpTextbox1").value;
text="{{"+lang+"|"+desc+"}}\n"+text;
document.getElementById("wpTextbox1").value=text;
document.getElementById("wpSummary").value="Adding description from [[:"+lang+":"+article+"]] using [[:es:User:Emijrp/DescriptionsToCommons|DescriptionsToCommons]]";
}
}