モジュール:Location map/info

    提供:Wikiminati

    このモジュールについての説明文ページを モジュール:Location map/info/doc に作成できます

    local p = {}
    
    function p.main(frame)
    	local map = mw.loadData(string.gsub(mw.title.getCurrentTitle().prefixedText,'/doc$',''))
    	local retval =
    [=[{| class="wikitable" style="text-align:center; margin-top:0;"
    |+ ]=] .. map.name .. '\n' .. [=[位置図
    |-
    ! 名称
    |colspan="3"| ]=] .. map.name .. [=[
    
    |-
    ]=]
    	if map.top then
    		retval = retval ..
    [=[!rowspan="4"|境界の経緯
    |-
    |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' .. [=[
    ! 画像
    |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' .. [=[
    ! 画像]=] .. 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' .. [=[
    ! 斜交
    |colspan="3"| ]=] .. map.skew .. '\n' .. [=[
    |-]=]
    	end
    	if map.lat_skew then
    		retval = retval .. '\n' .. [=[
    ! 緯度斜交
    |colspan="3"| ]=] .. map.lat_skew .. '\n' .. [=[
    |-]=]
    	end
    	if map.mark then
    		retval = retval .. '\n' .. [=[
    ! マーク
    |colspan="3"| <code>[[:File:]=] .. map.mark .. '|' .. map.mark .. [=[]]</code>
    |-]=]
    	end
    	if map.marksize then
    		retval = retval .. '\n' .. [=[
    ! マークサイズ
    |colspan="3"| ]=] .. map.marksize .. '\n' .. [=[
    |-]=]
    	end
    	retval = retval .. '\n|}'
    	return retval
    end
    
    return p