Alternativa nativa de Lua a las plantillas de banderas populares. Se puede utilizar para reducir el tamaño de inclusión posterior a la expansión de páginas con muchas plantillas, ya que evita llamar a plantillas de varios niveles.
Cuando se utiliza dentro de una plantilla, los parámetros de esa plantilla se pasan al módulo. Esto puede ser útil en algunas situaciones, pero puede generar conflictos (por ejemplo, si la plantilla principal tiene un parámetro |country=
que no está relacionado con la bandera que se supone que debe mostrar). Para evitar este comportamiento, agregue el |frameonly=
parámetro a la llamada del módulo, por ejemplo {{#invoke:flag|deco|CHN|frameonly=true}}
.
local margs = require ( 'Módulo:Argumentos' ) función local _main ( marco , nombre , modo ) categorías locales = { [ 'Ícono de bandera' ] = '[[Categoría:Plantillas de datos de países faltantes en los íconos de bandera]]' , [ 'Decoración de bandera' ] = '[[Categoría:Plantillas de datos de países faltantes en la decoración de bandera]]' , } local yesno = require ( 'Módulo:Yesno' ) --Obtener argumentos de entrada local args = margs . getArgs ( frame , { frameOnly = (( frame . args . frameonly o '' ) ~= '' ), valueFunc = function ( key , value ) if value then value = mw . text . trim ( value ) --Cambia una cadena vacía a nula para todos los argumentos excepto 'image' y 'border' if key == "image" or key == "border" or value ~= "" then return value end end return nil end } ) preftext local , sufftext = "" , "" if name == 'Bandera+enlace' then args . pref = args [ 1 ] elseif name == 'Atleta de la bandera' then args . preftext = args [ 1 ] args [ 2 ] = args . code or args [ 2 ] or "" args . variant = args .variante o argumentos [ 3 ] elseif nombre == 'Medallista de la bandera' entonces preftext = ( args [ 1 ] o "" ) .. "<br/>" args [ 2 ] = args . code o args [ 2 ] o "" args . variant = args . variant o args [ 3 ] elseif nombre == 'Enlace de la bandera' entonces args . suff = args [ 2 ] args [ 2 ] = args [ 1 ] o "" args . variant = args . variant o args [ 3 ] else deportes = { fb = 'fb' , [ 'fb-rt' ] = 'fb' , fbicon = 'fb' , ru = 'ru' } si deportes [ nombre ] entonces args . avar = deportes [ nombre ] si nombre == 'fb' y yesno ( args . align ) == true entonces args . align = 'c' end elseif nombre == "Equipo de bandera" y ( args . código o args [ 1 ]) entonces sufftext = ' <span style="font-size:90%;">(' .. ( args . código o args [ 1 ]) .. ')</span>' end args . variante = args .variante o args [ 2 ] args [ 2 ] = args [ 1 ] o " " fin args [ 1 ] = modo .. ( args.opts o ' ' ) args.missingcategory = categorías [ nombre ] args.noredlink = args.noredlink o ' notext ' si args.placeholder y yesno ( args.placeholder ) ~ = verdadero entonces args [ 1 ] = args [ 1 ] .. ' o ' fin si mw.title.getCurrentTitle ( ) . namespace == 0 entonces local desconocido = ' [ [ Categoría : Páginas que usan ' .. mw.ustring . lower ( nombre ) .. ' plantilla con parámetros desconocidos | _VALOR_' .. marco : getParent (): getTitle () .. ']]' else local unknown = '' fin de verificación = '' si nombre == 'Icono de bandera' entonces local opts = { unknown = unknown , vista previa = 'Página que usa [[Plantilla:' .. nombre .. ']] con parámetro desconocido "_VALOR_"' , ignoreblank = 'y' , '1' , '2' , 'variante' , 'imagen' , 'tamaño' , 'talla' , 'border' , 'alinear' , 'al' , 'ancho' , 'w' , 'alt' , 'ilink' , 'noredlink' , 'missingcategory' , 'nombre' , 'clink' , 'enlace' ,'pref' , 'suff' , 'plink' , 'el' , 'section' , 'altvar' , 'avar' , 'age' , 'nalign' , 'nal' , 'text' , 'nodata' , 'opts' , 'placeholder' , 'getParent' , 'frameonly' } check = require ( 'Módulo:Verificar parámetros desconocidos' ). _check ( opts , args ) end return preftext .. require ( 'Módulo:Flagg' ). luaMain ( marco , args ) .. suftexto..checkfin local p = { [ '' ] = función ( marco ) return _main ( marco , ' Bandera' , 'unc' ) fin , decoración = función ( marco ) return _main ( marco , 'Decoración de la bandera' , 'uxx' ) fin , icono = función ( marco ) return _main ( marco , 'Icono de la bandera' , ' cxxl' ) fin , enlace = función ( marco ) return _main ( marco , 'Enlace de la bandera' , 'unpe' ) fin , [ '+enlace' ] = función ( marco ) return _main ( marco , 'Bandera+enlace' , 'unpefo' ) fin , país = función ( marco ) return _main ( marco , 'Bandera país' , 'unce' ) fin ,equipo = función ( marco ) return _main ( marco , 'Equipo bandera' , 'unce' ) fin , atleta = función ( marco ) devolver _main ( marco , 'Atleta bandera' , 'unape' ) fin , medallista = función ( marco ) devolver _main ( marco , 'Medallista bandera' , 'unce' ) fin , fb = función ( marco ) devolver _main ( marco , 'fb' , 'unpe' ) fin , [ 'fb-rt' ] = función ( marco ) devolver _main ( marco , 'fb-rt' , 'unpre' ) fin , fbicon = función ( marco ) devolver _main ( marco , 'fbicon' , 'pxxl' ) fin , ru = función ( marco ) devolver _main ( marco , 'ru' , 'unpe' ) fin , COI = función ( marco ) devolver require ( 'Módulo:Country_alias' ). flagIOC ( frame : newChild { title = 'Plantilla:Bandera IOC' }) fin , IOC2 = función ( frame ) return require ( 'Módulo:Country_alias' ). flagXYZ ( frame : newChild { title = 'Plantilla:Bandera IOC 2' , args = { nombre = margs . getArgs ( frame ). name o '' ,tipo = 'nombre' } }) fin , IOCathlete = función ( marco ) devolver require ( 'Módulo:Country_alias' ). flagXYZ ( marco : newChild { título = 'Plantilla:Bandera Atleta COI' , args = { tipo = 'atleta - O' } }) fin , } p [ 'deco' ] = p.decoración p [ ' COI 2' ] = p.COI2 p [ ' Atleta COI ' ] = p.COIatleta devolver p