Wikipedysta:Matma Rex/cytuj stronę.js
Wygląd
Uwaga: aby zobaczyć zmiany po opublikowaniu, może zajść potrzeba wyczyszczenia pamięci podręcznej przeglądarki.
- Firefox / Safari: Przytrzymaj Shift podczas klikania Odśwież bieżącą stronę, lub naciśnij klawisze Ctrl+F5, lub Ctrl+R (⌘-R na komputerze Mac)
- Google Chrome: Naciśnij Ctrl-Shift-R (⌘-Shift-R na komputerze Mac)
- Edge: Przytrzymaj Ctrl, jednocześnie klikając Odśwież, lub naciśnij klawisze Ctrl+F5.
- Opera: Naciśnij klawisze Ctrl+F5.
// Zamiana [link opis] na {{cytuj stronę}}
function cytujStrone()
{
//mts=['stycznia','lutego','marca','kwietnia','maja','czerwca','lipca','sierpnia','września','października','listopada','grudnia']
d=new Date()
input=document.getElementById('wpTextbox1')
str=sel_t.getSelStr(input)
arr=str.split(/\s*[\*#]\s*/)
startWithStar=false
for(i=0;i<arr.length;i++)
{
a=arr[i]
if(a=='')
{
if(i==0)
{
startWithStar=true
arr.shift()
i--
}
continue
}
if(a.match(/{{lang\|([^}]+)}}|\(([^\)]+)\)/))
{
lang=a.replace(/^.*?(?:{{lang\||\()([^}\)]+)(?:}}|\)).*?$/,'$1')
a=a.replace(/(?:{{lang\||\()([^}]+)(?:}}|\))/,'')
}
else lang=''
if(!a.match(/^\s*\[(\S+) ([^\]]+)\]\s*$/)) return
a=a.replace(/^\s*\[(\S+)(?: ([^\]]+)|())\]\s*$/,function(a,url,title)
{
//return '{{cytuj stronę| url = '+url+' | tytuł = '+title.replace(/^\s+|\s+$/g,'')+' | data dostępu = '+d.getDate()+' '+mts[d.getMonth()]+' '+d.getFullYear()+' | autor = | opublikowany = | data = | język = '+(lang!=''?lang:'')+'}}'
return '{{cytuj stronę| url = '+url+' | tytuł = '+title.replace(/^\s+|\s+$/g,'')+' | data dostępu = '+d.getFullYear()+'-'+(d.getMonth()+1<10 ? '0'+(d.getMonth()+1) : d.getMonth()+1)+'-'+(d.getDate()<10 ? '0'+d.getDate() : d.getDate())+' | autor = | opublikowany = | data = | język = '+(lang!=''?lang:'')+'}}'
})
arr[i]=a
}
result=(startWithStar?'* ':'')+arr.join("\n* ")
sel_t.setSelStr(input, result)
}
mw.loader.using(["ext.gadget.lib-sel_t", "ext.gadget.lib-toolbar"], function()
{
toolbarGadget.addButton({
title: 'Zamień link zewn. na szablon {'+'{cytuj stronę}}',
alt: '[] -> {{}}',
icon: '//upload.wikimedia.org/wikipedia/commons/9/91/Button_cite_web.png',
onclick: function()
{
cytujStrone()
}
})
})