Module:Country listdata
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[سمول]
1
,2
, ...,کينډۍ:Var
- 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
, ...,varکينډۍ:Var
- Specify flag variants for the corresponding entities. The variant name is displayed in brackets.
note1
,note2
, ...,noteکينډۍ:Var
- 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[سمول]
{{country listdata|Afghanistan|Albania|Algeria}}
→
Lua error in package.lua at line 80: module 'Module:Flaglist' not found.
Using variants and notes:
{{country listdata|Australia|var1=naval|Brazil|note2=This is a note}}
→
Lua error in package.lua at line 80: module 'Module:Flaglist' not found.
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}}
→
Lua error in package.lua at line 80: module 'Module:Flaglist' not found.
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