Home
Random
Log in
Settings
About The Republic Wiki
Disclaimers
The Republic Wiki
Search
Editing
Module:Flag
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
The edit appears to have already been undone.
Anti-spam check. Do
not
fill this in!
local margs = require('Module:Arguments') local function _main(frame, name, mode, key) local categories = { ['Flag icon'] = '[[Category:Flag icons missing country data templates]]{{Preview warning|unrecognized country in Template:flag icon}}', ['Flag decoration'] = '[[Category:Flag decoration missing country data templates]]', } local yesno = require('Module:Yesno') --Get input arguments local args = margs.getArgs(frame, { frameOnly = ((frame.args.frameonly or '') ~= ''), 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 } ) local preftext, sufftext = "", "" if name == 'Flag+link' then args.pref = args[1] elseif name == 'Flag athlete' then args.preftext = args[1] args[2] = args.code or args[2] or "" args.variant = args.variant or args[3] elseif name == 'Flag medalist' then preftext = (args[1] or "") .. "<br/>" args[2] = args.code or args[2] or "" args.variant = args.variant or args[3] elseif name == 'Flag link' then args.suff = args[2] args[2] = args[1] or "" args.variant = args.variant or args[3] elseif key ~= nil then args.variant = args.variant or args[1] args[2] = key else sports = { ['3x3'] = '3x3', bb = 'bb', fb = 'fb', ['fb-rt'] = 'fb', fbicon = 'fb', ru = 'ru', fba = 'fba', fbaicon = 'fba' } if sports[name]then args.avar = args[1] and sports[name] or nil if name == 'fb' and yesno(args.align) == true then args.align='c' elseif sports[name] == 'fba' then if args[1] then local list = require("Module:Fba/list") local old = ((args.old or "") ~= "") and "_old" or "" local country = args[1] local fba = list.fbas[country .. old] if not fba then -- look for aliases local countryTable = require('Module:CountryData').getcachedtable(frame, country) if countryTable and countryTable.alias then country = countryTable.alias fba = list.fbas[country .. old] end end if args.name == "code" then args.name = list.codes[country] or country elseif args.name == "full" then args.name = fba end if fba then mode = string.gsub(mode, "p", "c") args.link = fba end args.altlink = args.old elseif args.name == "code" or args.name == "full" then args.name = "" end end elseif name == "Flag team" and (args.code or args[1]) then sufftext = ' <span style="font-size:90%;">('..(args.code or args[1])..')</span>' end args.variant = args.variant or args[2] args[2] = args[1] or "" end args[1] = mode .. (args.opts or '') args.missingcategory = categories[name] args.noredlink = args.noredlink or 'notext' if args.placeholder and yesno(args.placeholder) ~= true then args[1] = args[1] .. 'o' end check = '' if name == 'Flag icon' and mw.title.getCurrentTitle().namespace == 0 then local unknown = '[[Category:Pages using ' .. mw.ustring.lower(name) .. ' template with unknown parameters|_VALUE_' .. frame:getParent():getTitle() .. ']]' local opts = { unknown=unknown, preview='Page using [[Template:' .. name .. ']] with unknown parameter "_VALUE_"', ignoreblank='y', '1','2','variant','image','size','sz','border','align','al','width', 'w','alt','ilink','noredlink','missingcategory','name','clink','link', 'pref','suff','plink','the','section','altvar','avar','age','nalign', 'nal','text','nodata','opts','placeholder','getParent','frameonly' } check = require('Module:Check for unknown parameters')._check(opts,args) end return preftext .. require('Module:Flagg').luaMain(frame,args) .. sufftext .. check end local p = { [''] = function (frame) return _main(frame, 'Flag', 'unc' ) end, decoration = function (frame) return _main(frame, 'Flag decoration', 'uxx' ) end, icon = function (frame) return _main(frame, 'Flag icon', 'cxxl' ) end, link = function (frame) return _main(frame, 'Flag link', 'unpe' ) end, ['+link'] = function (frame) return _main(frame, 'Flag+link', 'unpefo') end, country = function (frame) return _main(frame, 'Flag country', 'unce' ) end, team = function (frame) return _main(frame, 'Flag team', 'unce' ) end, athlete = function (frame) return _main(frame, 'Flag athlete', 'unape' ) end, medalist = function (frame) return _main(frame, 'Flag medalist', 'unce' ) end, ['3x3'] = function (frame) return _main(frame, '3x3', 'unpe' ) end, bb = function (frame) return _main(frame, 'bb', 'unpe' ) end, fb = function (frame) return _main(frame, 'fb', 'unpe' ) end, fba = function (frame) return _main(frame, 'fba', 'unpe' ) end, ['fb-rt'] = function (frame) return _main(frame, 'fb-rt', 'unpre' ) end, fbicon = function (frame) return _main(frame, 'fbicon', 'pxxl' ) end, fbaicon = function (frame) return _main(frame, 'fbaicon', 'pxxl' ) end, ru = function (frame) return _main(frame, 'ru', 'unpe' ) end, IOC = function (frame) return require('Module:Country_alias').flagIOC(frame:newChild{ title = 'Template:Flag IOC' }) end, IOC2 = function (frame) return require('Module:Country_alias').flagXYZ(frame:newChild{ title = 'Template:Flag IOC 2', args = {name = margs.getArgs(frame).name or '', type = 'name'} }) end, IOCathlete = function (frame) return require('Module:Country_alias').flagXYZ(frame:newChild{ title = 'Template:Flag IOC athlete', args = {type = 'athlete-O'} }) end, } p['deco'] = p.decoration p['IOC 2'] = p.IOC2 p['IOC athlete'] = p.IOCathlete return setmetatable (p, {['__index'] = -- returns table p with the metatable __index set so that, if the table KEY isn't recognized, it returns function (_, key) -- this anonymous function called as function(p, KEY) return function (frame) return _main(frame, 'Flag', 'unc', key) end -- which interprets the module call as {{flag|KEY}} and passes it to _main() end })
Summary:
Please note that all contributions to The Republic Wiki are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) (see
The Republic Wiki:Copyrights
for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource.
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Flag/doc
(
edit
)