Jump to content

Module:Russo-Ukrainian War detailed map (oblasts)

From Wikipedia, the free encyclopedia
local m = require('Module:Russo-Ukrainian War detailed map')

m.containerArgs.AlternativeMap = nil
m.containerArgs.autoSwitcherLabel = true
m.containerArgs.width = 1000

local mark, label, label2
for i = m.marks.old_len+1, #m.marks do
	mark = m.marks[i]
	label = mark.label
	if label then
		label = mw.text.trim(label, '%[%]')
		label2 = mw.text.split(label, '[,|]')[1]
		label2 = string.gsub(label2, '­', '')
		label = m.marks[label2] and mw.text.split(label, '|')[1] or label2
		m.marks[label] = mark
	end
	if mark.label_size == 0 and mark.position and string.sub(mark.mark, 1, 1) == 'L' then -- is the last expression avoidable?
		mark.label_size = sizes[mark.marksize]
	end
end

-- Arranged by oblasts in alphabetical order.
local mm = m.marks
--Dnipropetrovsk Oblast
mm["Nikopol"].position = lp.b

--Donetsk Oblast
mm["Khartsyzk"].position = "bottom"
mm["Krasnohorivka"].position = lp.t
mm["Krasnohorivka"].label_width = 7
mm["Lyman"].position = "right"
mm["Myrnohrad"].label_width = nil
mm["Myrnohrad"].label_top = nil
mm["Novooleksandrivka"].label_width = 9
mm["Nyzhnia Krynka"].position = "bottom"
mm["Nyzhnia Krynka"].label_width = 8
mm["Staromykhailivka"].position = lp.b
mm["Staromykhailivka"].label_width = 8
mm["Sviatohirsk"].position = "top"
mm["Urozhaine"].position = "right"
mm["Volodymyrivka"].label_width = 7
mm["Yasynuvata"].label_width = nil
mm["Yenakiieve"].position = "left"
mm["Zalizne"].position = lp.t
mm["Zalizne"].label_width = nil

--Kharkiv Oblast
mm["Vovchansk"].position = lp.r

local marks = {
	--Donetsk Oblast
	{ lat = "48.265", long = "38.160", mark = "Location dot red.svg", marksize = 8, label = "[[Sofiivka, Horlivka Raion, Donetsk Oblast|Sofiivka]]", link = "Sofiivka, Horlivka Raion, Donetsk Oblast", label_size = 60, position = "top" }, -- permanently obstructed by Yenakiieve
}

TableTools.extend(m.marks, marks)

return m