{{Flagg}} (flag general) is a flag template with variable output format. Using Lua instead of the standard mechanism, it allows overriding t
| This module depends on the following other modules: |
| 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. |
{{Flagg}} (flag general) is a flag template with variable output format. Using Lua instead of the standard mechanism, it allows overriding the image name and link target, and works even if a country data template for an entity does not exist (without using any expensive functions).
The template is not intended to fully supersede any specific flag templates it can simulate (see below), but can be useful for formats for which no template exists, or if its additional options are needed.
Aliases (alternatives) for each parameter or value are given in square brackets.
The first parameter is an alphabetic code specifying the output format. The first letter concerns the image, the second the separator, and the third the country name. The parameter is fully case-insensitive.
If any position in the parameter value is missing or has a character not corresponding to an option below, the options marked as default will be used; e.g. a first parameter equal to i, i** or izz will be read as isc.
Image (first letter)
| Letter | Meaning | Description | Example |
|---|---|---|---|
| u | unlinked | Image is not linked (default). | {{flagg|uxx|France}} → |
| c | country | Image links to country/entity page. | {{flagg|cxx|France}} → |
| p [f] | prefix/suffix | Image links to country name with prefixed and/or suffixed text (default "Flag of ..."), set using |pref= and |suff= (see below). |
{{flagg|pxx|France}} → |
| i | image page | Image links to file description page; use this for non-public-domain images, for which attribution is required. | {{flagg|ixx|France}} → |
| d | data template | Image links to the used country data template, for use in discussion/documentation. Automatically adds redirect=no if link is a redirect. |
{{flagg|dxx|France}} → |
| x | X mark | No image is displayed. If the second letter is anything other than x, and o is not set, an unlinked transparent image is actually used to preserve the spacing. | {{flagg|xnx|France}} → |
Separator (second letter)
| Letter | Meaning | Description | Example | |
|---|---|---|---|---|
| s | span box | The flag image is put in a fixed-width <span> tag, meaning the country names are aligned in vertical lists; see documentation of {{Flaglist}} (default). | {{flagg|usu|Niger}} → | |
| n | non-breaking space | A non-breaking space ( ) is used, like in most flag templates, including {{flag}}. Note that does not actually prevent wrapping between image and text in all browsers; use w as described below if needed. |
{{flagg|unu|Niger}} → | |
| l | line break | A line break (<br/>) is used as separator. |
{{flagg|ulu|Niger}} → Niger | |
| t | table cell | A table cell separator (two pipes) is used. | Niger | |
| x | X mark | No separator is used. | {{flagg|uxu|Niger}} → | |
Name (third letter)
| Letter | Meaning | Description | Example |
|---|---|---|---|
| c | country | The country name links to the main country/entity page (default). | {{flagg|xxc|Chile}} → Chile
|
| p | prefix/suffix | The country name links to the country page with prefixed or suffixed text (default "Flag of ..."), set using |pref= and |suff= (see below). |
{{flagg|xxp|Chile}} → Chile
|
| f | full prefix/suffix | Same as p, except that the prefix and/or suffix is/are displayed. | {{flagg|xxf|Chile}} → Flag of Chile
|
| b | both country and prefix/suffix | Combined country link and prefix/suffix link: country name links to country page, while prefix and/or suffix link(s) to prefixed/suffixed title. | {{flagg|xxb|Chile}} → Flag of Chile
|
| u | unlinked (cf. {{flagu}}) | The country name is displayed as plain text, without link. | {{flagg|xxu|Chile}} → Chile
|
| d | data template | Country name is linked to the used country data template, for use in discussion/documentation. Automatically adds redirect=no if a redirect is used. |
{{flagg|xxd|Chile}} → Chile
|
| x | X mark | No text is displayed. | {{flagg|xxx|Chile}} →
|
Some additional options can be enabled by appending the following letters to the three-letter code in any order:
| Letter | Description | Example |
|---|---|---|
| a | Adds the country name (the "name" parameter, or if unset the second unnamed parameter) as alt text and mouseover for the image. If |alt= is used for a custom alt/mouseover text, this does not need to be separately set. |
{{flagg|uxxa|Pakistan}} → |
| e | Uses the name set in the country data template (rather than the first parameter) as display name, like in {{flagcountry}} (i.e. expands abbreviated forms). | {{flagg|unue|PAK}} → |
| o | Omits the image and spacing in case the image is an invisible placeholder, i.e., only include the spacing if a flag is displayed. Useful for inline/standalone usages or horizontal lists, where name alignment is not needed. | {{flagg|unuo|Pakistan|image=}} → PakistanCompare with: {{flagg|unu|Pakistan|image=}} → |
| r | Reverses the order of the elements, putting the image to the right of the name; cf. {{flagright}}. Doesn't affect the order of letters in the format code. | {{flagg|uncr|Pakistan}} → Pakistan |
| w | Avoids wrapping by adding <span class="nowrap">...</span> around the output. |
{{flagg|unuw|Pakistan}} → |
The second parameter is the country or entity name. The template attempts to read the flag and link data from "Template:Country data country"; if that does not exist, the same parameter will be used as default country link and no automatic image will be displayed. The parameter also defines the default displayed country name, if the e option above is not used.
|variant= [third unnamed parameter]{{flagg|ixx|Germany|naval}} → |image=|size= [|sz=]|border=|border= can be set to "yes" ["y", "1"] to force a border when excluded by default, or "no" ["n", "0", empty string] to prevent one.|align= [|al=]|width= [|w=]|alt=|ilink=|name=|clink= [|link=]|pref=, |suff=, |plink=|pref= and |suff= set the prefix and suffix to use for the prefix/suffix links (format letters f, p and b). The default, if neither is specified, is "Flag of" as prefix (cf. {{flagof}}) and no suffix. |plink= can be used to override the combined link.|the={{flagg|usf|Philippines|the=1}} → |pthe= if the link needs "the" but the name doesn't, and |nthe= if the name needs it but the link doesn't.|section=|csection= for a section of the country article, and |psection= for a section of the prefixed/suffixed article.|altvar= [|avar=], |age={{flagg|usp|Ireland|avar=ru}} → |age=.|nalign= [|nal=]|align=.|text=|nodata=y{{country data ...}} template, which is useful when the corresponding data template doesn't exist.Formats:
{{flagg|usc|Fiji}} → {{flagg||Fiji}} → {{flagg|pnbr|Fiji}} → Flag of Fiji <span style="display:inline-block;text-align:center;">{{flagg|ilf|Fiji|sz=xl}}</span> → Table format & alignment:
{{flagg|utu|Jamaica}} |
Jamaica | |
{{flagg|utur|Jamaica}} |
Jamaica | |
{{flagg|utu|Jamaica|al=l|nal=l}} |
Jamaica | |
{{flagg|utu|Jamaica|al=c|nal=c}} |
Jamaica | |
{{flagg|utu|Jamaica|al=r|nal=r}} |
Jamaica |
{{flagg|usu|Switzerland}} → {{flagg|usu|Switzerland|al=l}} → {{flagg|usu|Switzerland|al=c}} → {{flagg|usu|Switzerland|al=r}} → Standard image & name parameters:
{{flagg|isc|Myanmar}} → {{flagg|isc|Myanmar|border=}} → {{flagg|isc|Myanmar|1974}} → {{flagg|isc|Myanmar|variant=1974}} → {{flagg|isc|Myanmar|name=Burma|variant=1974}} → {{flagg|isc|Burma|variant=1974}} → {{flagg|isc|Myanmar|sz=30}} → {{flagg|isc|Myanmar|size=30}} → {{flagg|isc|Myanmar|size=30px}} → {{flagg|isc|Myanmar|size=30x18px}} → {{flagg|isc|Myanmar|size=xs}} → {{flagg|isc|Myanmar|size=xl}} → {{flagg|isc|Myanmar|width=30|size=xs}} → {{flagg|isc|Myanmar|image=}} → {{flagg|isc|Myanmar|image=Flag of None.svg}} → {{flagg|isc|Myanmar|image=File:Flag of None.svg}} → Links and altvars:
{{flagg|psp|Egypt}} → {{flagg|psf|Egypt}} → {{flagg|psb|Egypt}} → {{flagg|psb|Philippines|the=1}} → {{flagg|csc|Egypt|section=History}} → {{flagg|csb|Egypt|csection=History}} → {{flagg|psb|Egypt|psection=Kingdom of Egypt (1922–1953)|variant=1922}} → {{flagg|psb|Egypt|plink=List of Egyptian flags}} → {{flagg|psf|Egypt|pref=History of}} → {{flagg|psp|Egypt|suff=at the Olympics}} → {{flagg|psp|Egypt|avar=fb}} → {{flagg|psp|Egypt|avar=football}} → {{flagg|psp|Egypt|avar=fbu|age=20}} → {{flagg|psf|Egypt|avar=navy}} → Non-existing data template: A data template does exist; this documentation needs updating.
These "specialized" templates predate Flagg, and while most do not have options for custom links and images, they are probably faster because they only do two transclusions without invoking Lua.
| Template | Corresponding {{flagg}} syntax |
Example |
|---|---|---|
{{flag|country}} |
{{flagg|unc|country}} |
{{flag|China}} → {{flagg|unc|China}} → |
{{flagbig|country}} |
{{flagg|ulc|country|sz=l}} |
{{flagbig|China}} → China {{flagg|ulc|China|sz=l}} → China |
{{flagc|country}} |
{{flagg|inc|country}} |
{{flagc|China}} → {{flagg|inc|China}} → |
{{flagcountry|country}} |
{{flagg|unce|country}} |
{{flagcountry|CHN}} → {{flagg|unce|CHN}} → |
{{flagdeco|country}} |
{{flagg|uxx|country}} |
{{flagdeco|China}} → {{flagg|uxx|China}} → |
{{flagicon|country}} |
{{flagg|cxx|country}} |
{{flagicon|China}} → {{flagg|cxx|China}} → |
{{flagicon image|image}} |
{{flagg|uxx|image=image}} |
{{flagicon image|Flag of China.svg}} → {{flagg|uxx|image=Flag of China.svg}} → |
{{flaglink|country|suffix}} |
{{flagg|unp|country|suff=suffix}} |
{{flaglink|China|at the Hopman Cup}} → {{flagg|unp|China|suff=at the Hopman Cup}} → |
{{flag+link|prefix|country}} |
{{flagg|unp|country|pref=prefix}} (no existence check) |
{{flag+link|Agriculture in|China}} → {{flagg|unp|China|pref=Agriculture in}} → |
{{flaglist|country}} |
{{flagg|usc|country}} |
{{flaglist|China}} → {{flagg|usc|China}} → |
{{flagof|country}} |
{{flagg|unp|country|sz=l}} |
{{flagof|China}} → {{flagg|unp|China|sz=l}} → |
{{flagright|country}} |
{{flagg|uncr|country}} |
{{flagright|China}} → China {{flagg|uncr|China}} → China |
{{flagu|country}} |
{{flagg|unu|country}} |
{{flagu|China}} → {{flagg|unu|China}} → |
{{noflag|country}} |
{{flagg|xnu|country}} |
{{noflag|China}} → China{{flagg|xnu|China}} → |
{{noflag|[[country]]}} |
{{flagg|xnc|country}} |
{{noflag|[[China]]}} → China{{flagg|xnc|China}} → |
The football templates are used as examples here; other sports that have separate templates work correspondingly.
| Template | Corresponding {{flagg}} syntax |
Example |
|---|---|---|
{{fb|country}} |
{{flagg|unpe|country|avar=fb}} |
{{fb|China}} → {{flagg|unpe|China|avar=fb}} → |
{{fb|country|align=1}} |
{{flagg|uspe|country|avar=fb|al=c}} |
{{fb|China|align=1}} → {{flagg|uspe|China|avar=fb|al=c}} → |
{{fb-big|country}} |
{{flagg|ulpe|country|avar=fb|sz=l}} |
{{fb-big|China}} → China {{flagg|ulpe|China|avar=fb|sz=l}} → China |
{{fb-rt|country}} |
{{flagg|unpre|country|avar=fb}} |
{{fb-rt|China}} → China {{flagg|unpre|China|avar=fb}} → China |
{{fbu|age|country}} |
{{flagg|unpe|country|avar=fbu|age=age}} |
{{fbu|17|China}} → {{flagg|unpe|China|avar=fbu|age=17}} → |
{{fbw|country}} |
{{flagg|unpe|country|avar=fbw}} |
{{fbw|China}} → {{flagg|unpe|China|avar=fbw}} → |
{{fbwu|age|country}} |
{{flagg|unpe|country|avar=fbwu|age=age}} |
{{fbwu|17|China}} → {{flagg|unpe|China|avar=fbwu|age=17}} → |
{{army|country}} |
{{flagg|unfe|country|avar=army}} (no automatic name override) |
{{army|China}} → {{flagg|unfe|China|avar=army}} → |
{{navy|country}} |
{{flagg|unfe|country|avar=navy}} (no automatic name override) |
{{navy|China}} → {{flagg|unfe|China|avar=navy}} → |
{{air force|country}} |
{{flagg|unfe|country|avar=air force}} (no automatic name override) |
{{air force|China}} → {{flagg|unfe|China|avar=air force}} → |
local titleSelf = mw.title.new(... or mw.getCurrentFrame():getTitle())
local titleCountryData = mw.title.new[[Module:CountryData]]
if titleSelf.isSubpage then
local sandbox = titleSelf.subpageText:match[[^sandbox]]
if sandbox then
titleCountryData = titleCountryData:subPageTitle(sandbox)
end
end
local CountryData = require(tostring(titleCountryData))
local p = {}
function p.main(frame)
--Get input arguments
local args = require('Module:Arguments').getArgs(frame,{valueFunc =
function(key,value)
if value then
value = mw.text.trim(value)
--Change empty string to nil for all args except 'image' and 'border'
if key=="image" or key=="border" or value~="" then
return value
end
end
return nil
end
})
--Call main function
return p.luaMain(frame,args)
end
function p.luaMain(frame,args)
local function emp2nil(x)
if x=="" then return nil else return x end
end
local function space2emp(x)
if string.find(x,"^%s*$") then return "" else return x end
end
local function nopx(x)
if x~=nil and (string.find(x,"^%d+$") or string.find(x,"^%d+px$")) then return string.gsub(x,"^(.*)px","%1") else return nil end
end
--Country & mode parameters
local mode = string.lower(args[1] or "usc")
local mi = string.sub(mode,1,1)
local ms = string.sub(mode,2,2)
local mn = string.sub(mode,3,3)
local me = string.sub(mode,4,-1)
local country = args[2] or ""
local countryDataCountry = country
if string.find(me, "i") then
local titleIocCountryData = mw.title.new[[Module:Country alias/data]]
local IocCountryData = require(tostring(titleIocCountryData))
local iocCountryAlias = IocCountryData.countryAliases[country] or country
countryDataCountry = IocCountryData.countries[iocCountryAlias]["countrydata_name"] or IocCountryData.countries[iocCountryAlias]["name"]
end
local avar = args["avar"] or args["altvar"]
local clink = args["clink"] or args["link"]
--Get country data & altvar data
local data, alink, amap, asuf
if avar then
local age = args["age"] or ""
local aalias
amap, aalias = require("Module:Flagg/Altvar data").alttable(age)
avar = string.gsub(string.lower(avar or ""),"[ -]","")
avar = aalias[avar] or avar
if not amap[avar] then error("Unknown avar") end
local apar = {altvar=amap[avar].altvar;mw=amap[avar].mw;age=amap[avar].age;variant=args["variant"] or args[3]}
data = CountryData.getcachedtable(frame, countryDataCountry, apar)
asuf = amap[avar].altlink
alink = data["link alias-"..amap[avar].altvar] or (clink or data["shortname alias"] or data.alias or country).." "..asuf
else
data = (args["nodata"] and {}) or CountryData.getcachedtable(frame, countryDataCountry, {variant=args["variant"] or args[3]})
avar = ""
amap = {[""]={altvar=""}}
end
--Name and link parameters
clink = clink or data.alias or country
local pref = args["pref"]
local suff = args["suff"] or asuf
local pref2 = args["pref2"]
local suff2 = args["suff2"]
if not pref and not suff then --Default prefix
pref = "Flag of"
end
local yn_map = {[""]=0; ["0"]=0; ["no"]=0; ["n"]=0; ["1"]=1; ["yes"]=1; ["y"]=1}
local fthe = (args["pthe"] and yn_map[args["pthe"]]~=0) or (args["the"] and yn_map[args["the"]]~=0)
local nthe = (args["nthe"] and yn_map[args["nthe"]]~=0) or (args["the"] and yn_map[args["the"]]~=0)
fthe = fthe and (pref and "t" or "T").."he " or ""
nthe = nthe and (pref and "t" or "T").."he " or ""
local flink = args["plink"] or args["flink"] or alink
or clink=="" and "" or space2emp((pref or "").." ")..fthe..clink..space2emp(" "..(suff or ""))
local flink2
if args["plink2"] or args["flink2"] or pref2 or suff2 then
flink2 = args["plink2"] or args["flink2"] or clink=="" and "" or space2emp((pref2 or "").." ")..fthe..clink..space2emp(" "..(suff2 or ""))
else
flink2 = flink
end
local fsec = args["psection"] or args["section"]
local fsec2 = args["psection2"] or args["section"]
local csec = args["csection"] or args["section"]
fsec = fsec and "#"..fsec or ""
fsec2 = fsec2 and "#"..fsec2 or ""
csec = csec and "#"..csec or ""
if string.find(me,"f") then
if mw.title.new( flink ).exists == false then
if flink2 ~= flink and mw.title.new ( flink2 ).exists == true then
flink = flink2
fsec = fsec2
else
flink = clink
end
end
end
local name = args["name"]
if not name then
local cname = string.find(me,"e") and (data["name alias-"..amap[avar].altvar] or data["shortname alias"] or data.alias) or country
if mn == "f" then
name = cname=="" and "" or space2emp((pref or "").." ")..nthe..cname..space2emp(" "..(suff or ""))
else
name = cname
end
end
--Image parameters
local pimage = args["image"]
local placeholder = "Flag placeholder.svg"
local variant = args["variant"] or args[3] or ""
local image_map = {[""]=placeholder; ["none"]=placeholder; ["blank"]=placeholder}
if pimage then --Remove namespace
pimage = string.gsub(pimage,"^[Ff][Ii][Ll][Ee]:","")
pimage = string.gsub(pimage,"^[Ii][Mm][Aa][Gg][Ee]:","")
end
local iname = image_map[pimage] or pimage
local size = args["size"] or args["sz"]
local size_map = {xs="12x8px"; s="17x11px"; m="23x15px"; l="32x21px"; xl="46x30px"}
if size==nil or string.find(size,"^%d*x?%d+px$") then
--valid EIS size (..px, x..px or ..x..px) or unset
elseif string.find(size,"^%d*x?%d+$") then --EIS size without "px" suffix
size=size.."px"
else --size from map, or invalid value
size = size_map[size] or nil
end
local border = args["border"]
if iname then
size = size or "23x15px"
if yn_map[border]==0 then border = "" else border = "|border" end
else
iname = data["flag alias-"..amap[avar].altvar.."-"..variant] or data["flag alias-"..variant] or data["flag alias-"..amap[avar].altvar] or data["flag alias"] or placeholder
size = size or emp2nil(data.size) or "23x15px"
if border then
if yn_map[border]==0 then border = "" else border = "|border" end
else
local autoborder = data["border-"..variant] or data["border-"..amap[avar].altvar] or data.border
if autoborder and autoborder~="border" then border = "" else border = "|border" end
end
end
local am = ""
if args["alt"] or string.find(me,"a") then
am = args["alt"] or args["name"] or country
am = am.."|"..am
end
--Build display name
local text = args["text"]
if not text then
if mn=="x" then --no text
text = ""
elseif mn=="p" or mn=="f" or mn == "*" then --prefix/suffix link
text = flink=="" and name or "[["..flink..fsec.."|"..name.."]]"
-- By the principle of least surprise, there should be some
-- indication that the link [[X of Country|Country]] does not
-- go to [[Country]].
if mn == "*" and clink ~= flink then
text = text:sub(1, -3) .. "\226\128\175*]]" end
elseif mn=="l" then --display link target
text = flink=="" and name or "[["..flink..fsec.."|"..(args["name"] or flink).."]]"
elseif mn=="b" then --both prefix/suffix and normal country link
local preflink = pref and (flink=="" and pref.." " or "[["..flink..fsec.."|"..pref.."]] ") or ""
local sufflink = suff and (flink=="" and " "..suff or " [["..flink..fsec.."|"..suff.."]]") or ""
local namelink = (name=="" and "" or nthe)..(clink=="" and name or "[["..clink..csec.."|"..name.."]]")
text = preflink..namelink..sufflink
elseif mn=="d" then --data template
local title = mw.title.new("Template:Country data "..country)
--check if redirect
if title.isRedirect then
text = "<span class=\"plainlinks\">["..title:fullUrl("redirect=no").." "..name.."]</span>"
else
text = "[["..title.fullText.."|"..name.."]]"
end
elseif mn=="u" then --unlinked
text = name
elseif mn=="a" then --abbr
text = name==country and (clink==country and country or "<abbr title='"..clink.."'>"..country.."</abbr>") or ("<abbr title='"..name.."'>"..country.."</abbr>")
else --country link (default)
text = clink=="" and name or "[["..clink..csec.."|"..name.."]]"
end
if string.find(me,"p") then
text = "("..text..")"
end
end
if type(text) == 'function' then
text = text(data)
end
--Define separator
local separator = " " --non-breaking space (n)
if ms=="x" then --no separator
separator = ""
elseif ms=="l" then --line break
separator = "<br />"
end
--Add preftext, if used
local preftext = args["preftext"]
if (preftext or "") ~= "" then
text = preftext..separator..text
end
--Build image
local ilink = args["ilink"]
if not ilink then
if mi=="x" or (iname==placeholder and pimage~=placeholder) then --no image/invisible image
iname = placeholder
border = ""
ilink = "|link="
am = ""
elseif mi=="i" then --image page link
ilink = ""
elseif mi=="c" then --country link
ilink = "|link="..clink..(clink=="" and "" or csec)
elseif mi=="p" or mi=="f" then --prefix/suffix link
ilink = "|link="..flink..(flink=="" and "" or fsec)
elseif mi=="d" then --data template
local title = mw.title.new("Template:Country data "..country)
--check if redirect
if title.isRedirect then
ilink = "|link="..title:fullUrl("redirect=no")
else
ilink = "|link="..title.fullText
end
else --unlinked (default)
ilink = "|link="
end
end
if am == "" and string.find(me,"l") then
am = mw.ustring.sub(ilink,7,-1)
end
local image = "[[File:"..iname.."|"..size..border..ilink.."|alt="..am.."]]"
if iname==placeholder then
if require('Module:yesno')(args["noredlink"]) == false or args["noredlink"] == "notext" then
if country ~= '' and data.alias == nil then
iname = ''
image = "[[:Template:Country data "..country.."]]"
if args["noredlink"] == "notext" then
text = ''
end
end
end
if (args["missingcategory"] or '') ~= '' then
image = image..args["missingcategory"]
end
if string.find(me,"b") then
text = ''
end
end
--Combine image and name with separator
local align_map = {left="left", l="left", center="center", centre="center", c="center", middle="center", m="center", right="right", r="right"}
local align = align_map[args["align"] or args["al"]]
local nalign = align_map[args["nalign"] or args["nal"]]
local out
if string.find(me,"r") then
--image right of name
if (ms=="x" and mi=="x") or (string.find(me,"o") and iname==placeholder and pimage~=placeholder) then --name only
out = text
elseif ms=="x" or ms=="n" or ms=="l" then --no separator, non-breaking space, or line break
out = text.."<span class=\"flagicon\">"..separator..image.."</span>"
elseif ms=="t" then --table cell
out = "style=\"text-align:"..(nalign or "left").."\"|"..text.."||style=\"text-align:"..(align or "center").."\"|<span class=\"flagicon\">"..image.."</span>"
else --fixed-width span box (default)
local width = args["width"] or args["w"] or require("Module:Flaglist").luawidth(size)
out = text.." <span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(align or "right").."\">"..image.."</span>"
end
else --image left of name
if (ms=="x" and mi=="x") or (string.find(me,"o") and iname==placeholder and pimage~=placeholder) then --name only
out = text
elseif ms=="x" or ms=="n" or ms=="l" then --no separator, non-breaking space, or line break
out = "<span class=\"flagicon\">"..image..separator.."</span>"..text
elseif ms=="t" then --table cell
out = "style=\"text-align:"..(align or "center")..";\"|<span class=\"flagicon\">"..image.."</span>||style=\"text-align:"..(nalign or "left").."\"|"..text
else --fixed-width span box (default)
local width = nopx(args["width"] or args["w"]) or require("Module:Flaglist").luawidth(size)
out = "<span class=\"flagicon\" style=\"display:inline-block;width:"..width.."px;text-align:"..(align or "left").."\">"..image.."</span> "..text
end
end
if string.find(me,"w") then --avoid wrapping
out = "<span class=\"nowrap\">"..out.."</span>"
end
-- align in table
if me:find("t") then
out = 'style="text-align:'..(align or 'left')..'"|'..out
end
--Tracking categories
local cat = ""
if pimage and not image_map[pimage] and country~="" and data["flag alias"] and not args.demo then
cat = "[[Category:Pages using Flagg with specified image instead of data template image]]"
end
return out..cat
end
return p
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.