<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://the-democratika.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AFlag</id>
	<title>Module:Flag - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://the-democratika.com/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AFlag"/>
	<link rel="alternate" type="text/html" href="https://the-democratika.com/wiki/index.php?title=Module:Flag&amp;action=history"/>
	<updated>2026-04-04T17:50:37Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://the-democratika.com/wiki/index.php?title=Module:Flag&amp;diff=6257&amp;oldid=prev</id>
		<title>&gt;Ahecht: Don&#039;t error out on missing args[1]</title>
		<link rel="alternate" type="text/html" href="https://the-democratika.com/wiki/index.php?title=Module:Flag&amp;diff=6257&amp;oldid=prev"/>
		<updated>2025-03-04T21:40:13Z</updated>

		<summary type="html">&lt;p&gt;Don&amp;#039;t error out on missing args[1]&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local margs = require(&amp;#039;Module:Arguments&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local function _main(frame, name, mode)&lt;br /&gt;
	local categories = {&lt;br /&gt;
		[&amp;#039;Flag icon&amp;#039;] = &amp;#039;[[Category:Flag icons missing country data templates]]&amp;#039;,&lt;br /&gt;
		[&amp;#039;Flag decoration&amp;#039;] = &amp;#039;[[Category:Flag decoration missing country data templates]]&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
    local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	--Get input arguments&lt;br /&gt;
	local args = margs.getArgs(frame, {&lt;br /&gt;
		frameOnly = ((frame.args.frameonly or &amp;#039;&amp;#039;) ~= &amp;#039;&amp;#039;), valueFunc =&lt;br /&gt;
			function(key,value)&lt;br /&gt;
				if value then&lt;br /&gt;
					value = mw.text.trim(value)&lt;br /&gt;
					--Change empty string to nil for all args except &amp;#039;image&amp;#039; and &amp;#039;border&amp;#039;&lt;br /&gt;
					if key==&amp;quot;image&amp;quot; or key==&amp;quot;border&amp;quot; or value~=&amp;quot;&amp;quot; then&lt;br /&gt;
						return value&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				return nil&lt;br /&gt;
			end&lt;br /&gt;
	} )&lt;br /&gt;
	&lt;br /&gt;
	local preftext, sufftext = &amp;quot;&amp;quot;, &amp;quot;&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	if name == &amp;#039;Flag+link&amp;#039; then&lt;br /&gt;
		args.pref = args[1]&lt;br /&gt;
	elseif name == &amp;#039;Flag athlete&amp;#039; then&lt;br /&gt;
		args.preftext = args[1]&lt;br /&gt;
		args[2] = args.code or args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
		args.variant = args.variant or args[3]&lt;br /&gt;
	elseif name == &amp;#039;Flag medalist&amp;#039; then&lt;br /&gt;
		preftext = (args[1] or &amp;quot;&amp;quot;) .. &amp;quot;&amp;lt;br/&amp;gt;&amp;quot;&lt;br /&gt;
		args[2] = args.code or args[2] or &amp;quot;&amp;quot;&lt;br /&gt;
		args.variant = args.variant or args[3]&lt;br /&gt;
	elseif name == &amp;#039;Flag link&amp;#039; then&lt;br /&gt;
		args.suff = args[2]&lt;br /&gt;
		args[2] = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
		args.variant = args.variant or args[3]&lt;br /&gt;
	else&lt;br /&gt;
		sports = {&lt;br /&gt;
			fb = &amp;#039;fb&amp;#039;,&lt;br /&gt;
			[&amp;#039;fb-rt&amp;#039;] = &amp;#039;fb&amp;#039;,&lt;br /&gt;
			fbicon = &amp;#039;fb&amp;#039;,&lt;br /&gt;
			ru = &amp;#039;ru&amp;#039;,&lt;br /&gt;
			fba = &amp;#039;fba&amp;#039;,&lt;br /&gt;
			fbaicon = &amp;#039;fba&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
		if sports[name] and args[1] then&lt;br /&gt;
			args.avar = sports[name]&lt;br /&gt;
			if name == &amp;#039;fb&amp;#039; and yesno(args.align) == true then&lt;br /&gt;
				args.align=&amp;#039;c&amp;#039;&lt;br /&gt;
			elseif args.avar == &amp;#039;fba&amp;#039; then&lt;br /&gt;
				local list = require(&amp;quot;Module:Fba/list&amp;quot;)&lt;br /&gt;
				local old = ((args.old or &amp;quot;&amp;quot;) ~= &amp;quot;&amp;quot;) and &amp;quot;_old&amp;quot; or &amp;quot;&amp;quot;&lt;br /&gt;
				local fba = list.fbas[args[1] .. old]&lt;br /&gt;
				if not fba and string.len(args[1]) == 3 then&lt;br /&gt;
					for k, v in pairs(list.codes) do&lt;br /&gt;
						if v == args[1] then fba = list.fbas[k]; break end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				if args.name == &amp;quot;code&amp;quot; then&lt;br /&gt;
					args.name = list.codes[args[1]]&lt;br /&gt;
				elseif args.name == &amp;quot;full&amp;quot; then&lt;br /&gt;
					args.name = fba&lt;br /&gt;
				end&lt;br /&gt;
				if fba then&lt;br /&gt;
					mode = string.gsub(mode, &amp;quot;p&amp;quot;, &amp;quot;c&amp;quot;)&lt;br /&gt;
					args.link = fba&lt;br /&gt;
				end&lt;br /&gt;
				args.altlink = args.old&lt;br /&gt;
			end&lt;br /&gt;
		elseif name == &amp;quot;Flag team&amp;quot; and (args.code or args[1]) then&lt;br /&gt;
			sufftext = &amp;#039;&amp;amp;nbsp;&amp;lt;span style=&amp;quot;font-size:90%;&amp;quot;&amp;gt;(&amp;#039;..(args.code or args[1])..&amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		args.variant = args.variant or args[2]&lt;br /&gt;
		args[2] = args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	args[1] = mode .. (args.opts or &amp;#039;&amp;#039;)&lt;br /&gt;
	args.missingcategory = categories[name]&lt;br /&gt;
	args.noredlink = args.noredlink or &amp;#039;notext&amp;#039;&lt;br /&gt;
&lt;br /&gt;
	if args.placeholder and yesno(args.placeholder) ~= true then&lt;br /&gt;
		args[1] = args[1] .. &amp;#039;o&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if mw.title.getCurrentTitle().namespace == 0 then&lt;br /&gt;
		local unknown = &amp;#039;[[Category:Pages using &amp;#039; .. mw.ustring.lower(name) .. &lt;br /&gt;
			&amp;#039; template with unknown parameters|_VALUE_&amp;#039; .. frame:getParent():getTitle() .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		local unknown = &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	check = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if name == &amp;#039;Flag icon&amp;#039; then&lt;br /&gt;
		local opts = {&lt;br /&gt;
            unknown=unknown,&lt;br /&gt;
            preview=&amp;#039;Page using [[Template:&amp;#039; .. name .. &amp;#039;]] with unknown parameter &amp;quot;_VALUE_&amp;quot;&amp;#039;,&lt;br /&gt;
            ignoreblank=&amp;#039;y&amp;#039;,&lt;br /&gt;
            &amp;#039;1&amp;#039;,&amp;#039;2&amp;#039;,&amp;#039;variant&amp;#039;,&amp;#039;image&amp;#039;,&amp;#039;size&amp;#039;,&amp;#039;sz&amp;#039;,&amp;#039;border&amp;#039;,&amp;#039;align&amp;#039;,&amp;#039;al&amp;#039;,&amp;#039;width&amp;#039;,&lt;br /&gt;
            &amp;#039;w&amp;#039;,&amp;#039;alt&amp;#039;,&amp;#039;ilink&amp;#039;,&amp;#039;noredlink&amp;#039;,&amp;#039;missingcategory&amp;#039;,&amp;#039;name&amp;#039;,&amp;#039;clink&amp;#039;,&amp;#039;link&amp;#039;,&lt;br /&gt;
            &amp;#039;pref&amp;#039;,&amp;#039;suff&amp;#039;,&amp;#039;plink&amp;#039;,&amp;#039;the&amp;#039;,&amp;#039;section&amp;#039;,&amp;#039;altvar&amp;#039;,&amp;#039;avar&amp;#039;,&amp;#039;age&amp;#039;,&amp;#039;nalign&amp;#039;,&lt;br /&gt;
            &amp;#039;nal&amp;#039;,&amp;#039;text&amp;#039;,&amp;#039;nodata&amp;#039;,&amp;#039;opts&amp;#039;,&amp;#039;placeholder&amp;#039;,&amp;#039;getParent&amp;#039;,&amp;#039;frameonly&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
		check = require(&amp;#039;Module:Check for unknown parameters&amp;#039;)._check(opts,args)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return preftext .. require(&amp;#039;Module:Flagg&amp;#039;).luaMain(frame,args) .. sufftext .. check&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {&lt;br /&gt;
	[&amp;#039;&amp;#039;]       = function (frame) return _main(frame, &amp;#039;Flag&amp;#039;,            &amp;#039;unc&amp;#039;   ) end,&lt;br /&gt;
	decoration = function (frame) return _main(frame, &amp;#039;Flag decoration&amp;#039;, &amp;#039;uxx&amp;#039;   ) end,&lt;br /&gt;
	icon       = function (frame) return _main(frame, &amp;#039;Flag icon&amp;#039;,       &amp;#039;cxxl&amp;#039;  ) end,&lt;br /&gt;
	link       = function (frame) return _main(frame, &amp;#039;Flag link&amp;#039;,       &amp;#039;unpe&amp;#039;  ) end,&lt;br /&gt;
	[&amp;#039;+link&amp;#039;]  = function (frame) return _main(frame, &amp;#039;Flag+link&amp;#039;,       &amp;#039;unpefo&amp;#039;) end,&lt;br /&gt;
	country    = function (frame) return _main(frame, &amp;#039;Flag country&amp;#039;,    &amp;#039;unce&amp;#039;  ) end,&lt;br /&gt;
	team       = function (frame) return _main(frame, &amp;#039;Flag team&amp;#039;,       &amp;#039;unce&amp;#039;  ) end,&lt;br /&gt;
	athlete    = function (frame) return _main(frame, &amp;#039;Flag athlete&amp;#039;,    &amp;#039;unape&amp;#039; ) end,&lt;br /&gt;
	medalist   = function (frame) return _main(frame, &amp;#039;Flag medalist&amp;#039;,   &amp;#039;unce&amp;#039;  ) end,&lt;br /&gt;
	fb         = function (frame) return _main(frame, &amp;#039;fb&amp;#039;,              &amp;#039;unpe&amp;#039;  ) end,&lt;br /&gt;
	fba        = function (frame) return _main(frame, &amp;#039;fba&amp;#039;,             &amp;#039;unpe&amp;#039;  ) end,&lt;br /&gt;
	[&amp;#039;fb-rt&amp;#039;]  = function (frame) return _main(frame, &amp;#039;fb-rt&amp;#039;,           &amp;#039;unpre&amp;#039; ) end,&lt;br /&gt;
	fbicon     = function (frame) return _main(frame, &amp;#039;fbicon&amp;#039;,          &amp;#039;pxxl&amp;#039;  ) end,&lt;br /&gt;
	fbaicon    = function (frame) return _main(frame, &amp;#039;fbaicon&amp;#039;,         &amp;#039;pxxl&amp;#039;  ) end,&lt;br /&gt;
	ru         = function (frame) return _main(frame, &amp;#039;ru&amp;#039;,              &amp;#039;unpe&amp;#039;  ) end,&lt;br /&gt;
	IOC        = function (frame) return require(&amp;#039;Module:Country_alias&amp;#039;).flagIOC(frame:newChild{ title = &amp;#039;Template:Flag IOC&amp;#039; }) end,&lt;br /&gt;
	IOC2       = function (frame) return require(&amp;#039;Module:Country_alias&amp;#039;).flagXYZ(frame:newChild{ title = &amp;#039;Template:Flag IOC 2&amp;#039;, args = {name = margs.getArgs(frame).name or &amp;#039;&amp;#039;, type = &amp;#039;name&amp;#039;} }) end,&lt;br /&gt;
	IOCathlete = function (frame) return require(&amp;#039;Module:Country_alias&amp;#039;).flagXYZ(frame:newChild{ title = &amp;#039;Template:Flag IOC athlete&amp;#039;, args = {type = &amp;#039;athlete-O&amp;#039;} }) end,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
p[&amp;#039;deco&amp;#039;] = p.decoration&lt;br /&gt;
p[&amp;#039;IOC 2&amp;#039;] = p.IOC2&lt;br /&gt;
p[&amp;#039;IOC athlete&amp;#039;] = p.IOCathlete&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>&gt;Ahecht</name></author>
	</entry>
</feed>