Bước tới nội dung

Mô đun:World topic

Bách khoa toàn thư mở Wikipedia
Tài liệu mô đun[tạo]
local p = {}

local Navbox = require("Mô đun:Navbox/sandbox")
local country = {
	Afghanistan = {""},
	Albania = {""},
	["Algérie"] = {""},
	Andorra = {""},
	Angola = {""},
	["Antigua và Barbuda"] = {""},
	Argentina = {""},
	Armenia = {""},
	["Úc"] = {""},
	["Áo"] = {""},
	Azerbaijan = {""},
	Bahamas = {""},
	Bahrain = {""},
	Bangladesh = {""},
	Barbados = {""},
	Belarus = {""},
	["Bỉ"] = {""},
	Belize = {""},
	["Bénin"] = {""},
	Bhutan = {""},
	Bolivia = {""},
	["Bosna và Hercegovina"] = {""},
	Botswana = {""},
	Brasil = {""},
	Brunei = {""},
	Bulgaria = {""},
	["Burkina Faso"] = {""},
	Burundi = {""},
	Campuchia = {""},
	Cameroon = {""},
	Canada = {""},
	["Cabo Verde"] = {""},
	["Cộng hòa Trung Phi"] = {""},
	Tchad = {""},
	Chile = {""},
	["Trung Quốc"] = {""},
	Colombia = {""},
	Comoros = {""},
	["Cộng hòa Dân chủ Congo"] = {""},
	["Cộng hòa Congo"] = {""},
	["Costa Rica"] = {""},
	Croatia = {""},
	Cuba = {""},
	["Síp"] = {""},
	["Cộng hòa Séc"] = {""},
	["Đan Mạch"] = {""},
	Djibouti = {""},
	Dominica = {""},
	["Đông Timor"] = {""},
	["Cộng hòa Dominica"] = {""},
	Ecuador = {""},
	["Ai Cập"] = {""},
	["El Salvador"] = {""},
	["Guinea Xích Đạo"] = {""},
	Eritrea = {""},
	Estonia = {""},
	Eswatini = {""},
	Ethiopia = {""},
	Fiji = {""},
	["Phần Lan"] = {""},
	["Pháp"] = {""},
	Gabon = {""},
	Gambia = {""},
	Gruzia = {""},
	["Đức"] = {""},
	Ghana = {""},
	["Hy Lạp"] = {""},
	Grenada = {""},
	Guatemala = {""},
	["Guinée"] = {""},
	["Guiné-Bissau"] = {""},
	Guyana = {""},
	Haiti = {""},
	Honduras = {""},
	Hungary = {""},
	Iceland = {""},
	["Ấn Độ"] = {""},
	Indonesia = {""},
	Iran = {""},
	Iraq = {""},
	Ireland = {"Cộng hòa Ireland"},
	Israel = {""},
	["Ý"] = {""},
	["Bờ Biển Ngà"] = {""},
	Jamaica = {""},
	["Nhật Bản"] = {""},
	Jordan = {""},
	Kazakhstan = {""},
	Kenya = {""},
	Kiribati = {""},
	Kosovo = {""},
	["Bắc Triều Tiên"] = {"Cộng hòa Dân chủ Nhân dân Triều Tiên"},
	["Hàn Quốc"] = {""},
	Kuwait = {""},
	Kyrgyzstan = {""},
	["Lào"] = {""},
	Latvia = {""},
	["Li Băng"] = {""},
	Lesotho = {""},
	Liberia = {""},
	Libya = {""},
	Liechtenstein = {""},
	Litva = {""},
	Luxembourg = {""},
	Madagascar = {""},
	Malawi = {""},
	Malaysia = {""},
	Maldives = {""},
	Mali = {""},
	Malta = {""},
	["Quần đảo Marshall"] = {""},
	Mauritanie = {""},
	Mauritius = {""},
	["México"] = {""},
	["Liên bang Micronesia"] = {""},
	Moldova = {""},
	Monaco = {""},
	["Mông Cổ"] = {""},
	Montenegro = {""},
	["Maroc"] = {""},
	Mozambique = {""},
	Myanmar = {""},
	Namibia = {""},
	Nauru = {""},
	Nepal = {""},
	["Hà Lan"] = {""},
	["New Zealand"] = {""},
	Nicaragua = {""},
	Niger = {""},
	Nigeria = {""},
	["Bắc Macedonia"] = {""},
	["Na Uy"] = {""},
	Oman = {""},
	Pakistan = {""},
	Palestine = {"Nhà nước Palestine"},
	Palau = {""},
	Panama = {""},
	["Papua New Guinea"] = {""},
	Paraguay = {""},
	Peru = {""},
	Philippines = {""},
	["Ba Lan"] = {""},
	["Bồ Đào Nha"] = {""},
	Qatar = {""},
	["România"] = {""},
	["Nga"] = {""},
	Rwanda = {""},
	["Saint Kitts và Nevis"] = {""},
	["Saint Lucia"] = {""},
	["Saint Vincent và Grenadines"] = {""},
	Samoa = {""},
	["San Marino"] = {""},
	["São Tomé và Príncipe"] = {""},
	["Ả Rập Xê Út"] = {""},
	["Sénégal"] = {""},
	Serbia = {""},
	Seychelles = {""},
	["Sierra Leone"] = {""},
	Singapore = {""},
	Slovakia = {""},
	Slovenia = {""},
	["Quần đảo Solomon"] = {""},
	Somalia = {""},
	["Nam Phi"] = {"Cộng hòa Nam Phi"},
	["Nam Sudan"] = {""},
	["Tây Ban Nha"] = {""},
	["Sri Lanka"] = {""},
	Sudan = {""},
	Suriname = {""},
	["Thụy Điển"] = {""},
	["Thụy Sĩ"] = {""},
	Syria = {""},
	["Đài Loan"] = {""},
	Tajikistan = {""},
	Tanzania = {""},
	["Thái Lan"] = {""},
	Togo = {""},
	Tonga = {""},
	["Trinidad và Tobago"] = {""},
	Tunisia = {""},
	["Thổ Nhĩ Kỳ"] = {""},
	Turkmenistan = {""},
	Tuvalu = {""},
	Uganda = {""},
	Ukraina = {""},
	["Các Tiểu vương quốc Ả Rập Thống nhất"] = {""},
	["Vương quốc Liên hiệp Anh"] = {"Vương quốc Liên hiệp Anh và Bắc Ireland"},
	["Hoa Kỳ"] = {""},
	Uruguay = {""},
	Uzbekistan = {""},
	Vanuatu = {""},
	["Thành Vatican"] = {""},
	Venezuela = {""},
	["Việt Nam"] = {""},
	["Tây Sahara"] = {""},
	Yemen = {""},
	Zambia = {""},
	Zimbabwe = {""},
}

function p.main(frame)
	local pframe = frame:getParent()
	local config = frame.args
	local args = pframe.args
	
	return p._main(args)
end

function p._main(args)
	if mw.title.getCurrentTitle() == "Bản mẫu:World topic" then
		state = "autocollapse"
	else
		state = args.state
	end
	if args[1] ~= nil or args.prefix ~= nil and (args[2] == nil or ags.suffix == nil) then
		titlemid = ""
	end
	if args.title ~= nil then
		title = args.title
	else
		title = "[["..(args[1] or args.prefix or "")..(titlemid or "").." thế giới"..(args.suffix or "").."]]"
	end
	if args.group1 ~= nil and args.group1 ~= "" then
		group1 = args.group1
	end
	local sorter = {}
	for n in pairs(country) do
		table.insert(sorter, n)
	end
	table.sort(sorter)

	if args.noredlinks ~= nil then
		list1 = table.concat(noredlinks(args[1], args[2], args.prefix, args.suffix, sorter) )
	else
		list1 = table.concat(redlinks(args[1], args[2], args.prefix, args.suffix, sorter) )
	end
	local navarguments = {
		name = args.name or "World topic",
		state = state,
		navbar = args.navbar or "Tnavbar",
		border = args.border,
		title = title,
		image = args.image,
		titlestyle = args.titlestyle,
		bodystyle = args.bodystyle,
		abovestyle = args.abovestyle,
		belowstyle = args.belowstyle,
		groupstyle = args.groupstyle,
		liststyle = args.liststyle,
		listclass  = "hlist",
		above = args.above,
		group1 = group1,
		list1 = list1
	}
	return Navbox._navbox(navarguments)
end

function noredlinks(args1, args2, argsprefix, argssuffix, sorter)
	local list = {}
	for x, y in pairs(sorter) do
		if mw.title.new((args1 or argsprefix or "").." "..linktarget(y, country[y][1])..(args2 or argssuffix or "")).exists == true then
			table.insert(list, li("[["..(args1 or argsprefix or "").." "..linktarget(y, country[y][1])..(args2 or
				argssuffix or "").."|"..y.."]]"))
		elseif y == "Gruzia" then
			if mw.title.new((args1 or argsprefix or "").." "..y..(args2 or argssuffix or "")).exists == true then
				table.insert(list, li("[["..(args1 or argsprefix or "").." "..y..(args2 or
				argssuffix or "").."|"..y.."]]" ) )
			end
		end
	end
	return list
end

function redlinks(args1, args2, argsprefix, argssuffix, sorter)
	local list = {}
	for x, y in pairs(sorter) do
		if y == "Gruzia" then
			if mw.title.new((args1 or argsprefix or "").." "..country[y][1]..(args2 or argssuffix or "")).exists == true then
				table.insert(list, li("[["..(args1 or argsprefix or "").." "..country[y][1]..(args2 or
				argssuffix or "").."|"..y.."]]" ))
			else
				table.insert(list, li("[["..(args1 or argsprefix or "").." "..y..(args2 or
				argssuffix or "").."|"..y.."]]" ))
			end
		else
			table.insert(list, li("[["..(args1 or argsprefix or "").." " .. linktarget(y, country[y][1]) .. (args2 or 
				argssuffix or "").."|".. y .. "]]"))
		end
	end
	return list
end

function li(text)
	local li = mw.html.create("li")
	li
		:wikitext(text)
		:done()
	return tostring(li)
end

function linktarget(x, y)
	if y ~= nil and y == "" then
		return x
	else
		return y
	end
end

return p