Module:Country listdata
Appearance
![]() | This module is rated as beta, and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected. |
This template formats a list of country data templates, for use as "see also" in the documentation of such templates.
Parameters
[edit]1
,2
, ...,n
- Each numbered parameter is a country, subdivision or other entity name, corresponding to what you would use as first parameter in flag templates such as {{flag}}.
var1
,var2
, ...,varn
- Specify flag variants for the corresponding entities. The variant name is displayed in brackets.
note1
,note2
, ...,noten
- Add explanatory text to the right of each row.
header
- Inserts a standardized text above the list. Possible values are "related", "for:" followed by any text, or anything else for custom text.
Examples
[edit]{{country listdata|Afghanistan|Albania|Algeria}}
→
Template:Country data Afghanistan | ![]() | |
Template:Country data Albania | ![]() | |
Template:Country data Algeria | ![]() |
Using variants and notes:
{{country listdata|Australia|var1=naval|Brazil|note2=This is a note}}
→
Template:Country data Australia (naval variant) | ![]() | |
Template:Country data Brazil | ![]() | This is a note |
In the parameter list, parameters with empty strings or whitespace only are allowed and not included in the output, so parameters can be safely emptied to remove a country. Undefined "gaps", however, such as parameter 6 in this example, will cause all higher-number parameters to be ignored.
{{country listdata|1=Afghanistan|2=Albania|3= |4=Algeria|5=Andorra|7=Angola|8=Antigua and Barbuda}}
→
Template:Country data Afghanistan | ![]() | |
Template:Country data Albania | ![]() | |
Template:Country data Algeria | ![]() | |
Template:Country data Andorra | ![]() |
local p = {}
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame,{removeBlanks=false})
local list = ""
if args[1] then
list = mw.html.create('table')
list:css("background-color","#ecfcf4")
for n,c in ipairs(args) do
if c~="" then
local title = mw.title.new("Template:Country data "..c)
local link
if title.isRedirect then
link = "["..title:fullUrl("redirect=no").." "..title.fullText.."]"
else
link = "[["..title.fullText.."]]"
end
local var = args["var"..n] or ""
local vartext = var=="" and "" or " (<code>"..var.."</code> variant)"
local note = args["note"..n] or ""
local row = list:tag("tr")
row:tag("td"):css("padding","0px 10px"):addClass("plainlinks"):wikitext(link..vartext)
row:tag("td"):css("padding","0px 10px"):wikitext(require("Module:Flagg").luaMain(frame,{"usc", c, variant=var}))
row:tag("td"):css("padding","0px 10px"):wikitext(note)
end
end
end
local head = ""
if args["header"] and args["header"]~="" then
if args["header"]=="related" then
head = "====Related templates====\nPlease see the following related <code>country_data</code> templates:"
elseif string.sub(args["header"],1,4)=="for:" then
head = "<code>Country_data</code> templates are also available for "..string.sub(args["header"],5,-1)..":"
else
head = args["header"]
end
end
return head..(head~="" and list~="" and "\n" or "")..tostring(list)
end
return p