Przejdź do zawartości

Wikipedysta:Matma Rex/cytuj stronę.js

Z Wikipedii, wolnej encyklopedii

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()
		}
	})
})