Modül:Konum haritası/bilgi

Vikipedi, özgür ansiklopedi
Modül belgelemesi[oluştur]
local p = {}

--bu fonksiyon girilen bir yazıda birinci değeri bulup
--onu ikinci değer ile değiştirmeye yarar
local function bulvedeg(yazi, bir, iki)
	return mw.ustring.sub( mw.ustring.gsub(yazi, bir, iki), 1, -1 )
end

function p.kategori(frame)
	local s = frame.args[1]
	local d = ""
	local kisaltma = {["ABD"]="Amerika Birleşik Devletleri",}
	
	for i=1,5 do
		if mw.title.new("Kategori:"..d.." konum haritası şablonları").exists then
			d = d
			break
		else
			if kisaltma[d] then
				d = kisaltma[d]
			else
				d = d .. (d~="" and " " or "") .. bulvedeg(s, "%s.*", "")
				s = bulvedeg(s, "^[^%s]*%s*", "")
			end
		end
	end
	local anahtar = bulvedeg(s, d.."%s", "")
	
	d = mw.title.new("Kategori:"..d.." konum haritası şablonları").exists and d.." konum haritası şablonları" or nil

	return "[[Kategori:"..(d or "Ülkelerine göre harita şablonları").."|" .. (anahtar ~= "" and anahtar or " ") .. "]]"
end

function p.goster(frame)
	local harita = mw.loadData(string.gsub(mw.title.getCurrentTitle().prefixedText,'/belge$',''))
	local retval =
[=[{| class="wikitable" style="text-align:center; margin-top:0;"
|+]=] .. harita.ad .. ' konum haritası\n' .. [=[
|-
! ad
|colspan="3"| ]=] .. harita.ad .. [=[

|-
]=]
	if harita['üst'] then
		retval = retval ..
[=[!rowspan="4"|sınır<br/>koordinatları
|-
|colspan="3"| ]=] .. harita['üst'] .. '\n' .. [=[
|-
|style="width:7em;"| ]=] .. harita.sol .. '\n' .. [=[
| ←↕→
|style="width:7em;"| ]=] .. harita['sağ']
		if harita['sağ'] > 180 then
			retval = retval .. ' (' .. harita['sağ'] - 360 .. ')'
		end
		retval = retval .. '\n' .. [=[
|-
|colspan="3"| ]=] .. harita.alt .. '\n' .. [=[
|-
! harita merkezi
|colspan="4"| ]=]
		local width = (harita['sağ'] - harita.sol) % 360
		if width == 0 then
			width = 360
		end
		local center = (harita.sol + width/2) % 360
		if center >= 180 then
			center = center - 360
		end
		retval = retval .. frame:expandTemplate{title = 'koordinat', args = { (harita['üst'] + harita.alt)/2, center }}
		retval = retval .. '\n' .. [=[
|-]=]
	end
	if harita.x then
		retval = retval .. '\n' .. [=[
! x
|colspan="3" style="overflow: auto; white-space: auto; width: 350px"| ]=] .. harita.x .. '\n' .. [=[
|-
! y
|colspan="3" style="overflow: auto; white-space: auto; width: 350px"| ]=] .. harita.y .. '\n' .. [=[
|-]=]
	end
	retval = retval .. '\n' .. [=[
! resim
|colspan="3"| <code>[[:Dosya:]=] .. harita.resim .. '|' .. harita.resim .. [=[]]</code>
|-
|colspan="4"|[[Dosya:]=] .. harita.resim .. [=[|400x400px]]
|-]=]
	local i = 0
	while harita['resim' .. (i+1)] or harita['resim' .. (i+2)] do
		i = i + 1
		if harita['resim' .. i] then
			retval = retval .. '\n' .. [=[
! resim]=] .. i .. '\n' .. [=[
|colspan="3"| <code>[[:Dosya:]=] .. harita['resim' .. i] .. '|' .. harita['resim' .. i] .. [=[]]</code>
|-
|colspan="4"|[[Dosya:]=] .. harita['resim' .. i] .. [=[|400x400px]]
|-]=]
		end
	end
	if harita.skew then
		retval = retval .. '\n' .. [=[
! skew
|colspan="3"| ]=] .. harita.skew .. '\n' .. [=[
|-]=]
	end
	if harita.lat_skew then
		retval = retval .. '\n' .. [=[
! lat_skew
|colspan="3"| ]=] .. harita.lat_skew .. '\n' .. [=[
|-]=]
	end
	if harita['işaret'] then
		retval = retval .. '\n' .. [=[
! işaret
|colspan="3"| <code>[[:Dosya:]=] .. harita['işaret'] .. '|' .. harita['işaret'] .. [=[]]</code>
|-]=]
	end
	if harita['işaret_boyutu'] then
		retval = retval .. '\n' .. [=[
! işaret_boyutu
|colspan="3"| ]=] .. harita['işaret_boyutu'] .. '\n' .. [=[
|-]=]
	end
	retval = retval .. '\n|}'
	return retval
end

return p