local p = {}
function p.main(frame)
local map = mw.loadData(string.gsub(mw.title.getCurrentTitle().prefixedText,'/doc$',''))
local article_linked = (mw.title.new(map.name, 0 ).exists and "[["..map.name.."|"..(map.nameG or '').."]]") or (map.nameG~='' and map.nameG) or (map.name.." /<small>nedostaje genitiv</small>/")
local retval =
[=[{| class="wikitable" style="text-align:center; margin-top:0;"
|+ Lokacijska karta ]=] .. article_linked .. '\n' .. [=[
|-
! name
|colspan="3"| ]=] .. map.name .. [=[
|-
! nameG
|colspan="3"| ]=] .. (map.nameG or '/<small>nedostaje genitiv</small>/') .. [=[
|-
]=]
if map.top then
retval = retval ..
[=[!rowspan="4"|top<br>left — right<br/>bottom
|-
|colspan="3"| ]=] .. map.top .. '\n' .. [=[
|-
|style="width:7em;"| ]=] .. map.left .. '\n' .. [=[
| ←↕→
|style="width:7em;"| ]=] .. map.right
if map.right > 180 then
retval = retval .. ' (' .. map.right - 360 .. ')'
end
retval = retval .. '\n' .. [=[
|-
|colspan="3"| ]=] .. map.bottom .. '\n' .. [=[
|-
! ⊙
|colspan="4"| ]=]
local width = (map.right - map.left) % 360
if width == 0 then
width = 360
end
local center = (map.left + width/2) % 360
if center >= 180 then
center = center - 360
end
retval = retval .. frame:expandTemplate{title = 'coord', args = { (map.top + map.bottom)/2, center }}
retval = retval .. '\n' .. [=[
|-]=]
end
if map.x then
retval = retval .. '\n' .. [=[
! x
|colspan="3" style="overflow: auto; white-space: auto; width: 350px"| ]=] .. map.x .. '\n' .. [=[
|-
! y
|colspan="3" style="overflow: auto; white-space: auto; width: 350px"| ]=] .. map.y .. '\n' .. [=[
|-]=]
end
retval = retval .. '\n' .. [=[
! image
|colspan="3"| <code>[[:File:]=] .. map.image .. '|' .. map.image .. [=[]]</code>
|-
|colspan="4"|[[File:]=] .. map.image .. [=[|400x400px]]
|-]=]
local i = 0
while map['image' .. (i+1)] or map['image' .. (i+2)] do
i = i + 1
if map['image' .. i] then
retval = retval .. '\n' .. [=[
! image]=] .. i .. '\n' .. [=[
|colspan="3"| <code>[[:File:]=] .. map['image' .. i] .. '|' .. map['image' .. i] .. [=[]]</code>
|-
|colspan="4"|[[File:]=] .. map['image' .. i] .. [=[|400x400px]]
|-]=]
end
end
if map.skew then
retval = retval .. '\n' .. [=[
! skew
|colspan="3"| ]=] .. map.skew .. '\n' .. [=[
|-]=]
end
if map.lat_skew then
retval = retval .. '\n' .. [=[
! lat_skew
|colspan="3"| ]=] .. map.lat_skew .. '\n' .. [=[
|-]=]
end
if map.mark then
retval = retval .. '\n' .. [=[
! mark
|colspan="3"| <code>[[:File:]=] .. map.mark .. '|' .. map.mark .. [=[]]</code>
|-]=]
end
if map.marksize then
retval = retval .. '\n' .. [=[
! marksize
|colspan="3"| ]=] .. map.marksize .. '\n' .. [=[
|-]=]
end
retval = retval .. '\n|}'
return retval
end
return p