Módulo:Noticia
De Inkipedia
La documentación para este módulo puede ser creada en Módulo:Noticia/doc
local p = {} function p.getStyleForColor(color) local result = { ["verde"] = "rgb(170, 220, 0)", ["verdeazulado"] = "rgb(47, 172, 172)", ["azul"] = "rgb(0, 153, 255)", ["naranja"] = "rgb(255, 128, 0)", ["amarillo"] = "rgb(235, 238, 61)", ["rojo"] = "rgb(217, 0, 0)", ["rosa"] = "rgb(240, 60, 120)", ["marron"] = "rgb(174, 21, 102)", ["gris"] = "rgb(201, 201, 201)", } return result[color] or color end function p.main(frame) local args = frame:getParent().args local color = args.color or 'verde' local alineacion = args.align or '' local alineamientoTexto = args['text-align'] or 'left' local ancho = args.width or '' local imagen = args.file or '' local tamanoImagen = args.filesize or '48px' local encabezado = args.header or '' local contenido = args.content or '' local root = mw.html.create('div') :addClass('notice') :attr('align', alineacion) :css('text-align', alineamientoTexto) :css('border-color', p.getStyleForColor(color)) :css('border-radius', "5px 5px 5px 5px") :css('border-style', "solid") :css('border-width', "1px 5px 1px 5px") :css('column-gap', "1em") :css('display', "flex") :css('flex-direction', "row") :css('margin', ".5em 0") :css('padding', ".5em") if ancho ~= '' then root:css('width', ancho) end if imagen ~= '' then root:tag('div') :addClass('notice-image') :css('position', "relative") :css('top', "50%") :wikitext(string.format('[[File:%s|%s|link=]]', imagen, tamanoImagen)) end local contentDiv = root:tag('div') :addClass('notice-content') :css('flex-grow', 1) if encabezado ~= '' then contentDiv:tag('div') :addClass('notice-header') :css('font-weight', 600) :wikitext(encabezado) end contentDiv:tag('div') :addClass('notice-description') :css('font-size', "9pt") :wikitext(contenido) return tostring(root) end return p