Módulo:Infocard: mudanças entre as edições
Aspeto
Criou página com '------------------------------------------------------------------------------- -- -- Module:Infocard -- -- This module implements Template:Infocard and is used by a number of other -- modules to display info cards. ------------------------------------------------------------------------------- require('Module:No globals') local m_util = require('Module:Util') -- ---------------------------------------------------------------------------- -...' |
Sem resumo de edição |
||
Linha 6: | Linha 6: | ||
-- modules to display info cards. | -- modules to display info cards. | ||
------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- | ||
_pageName='{{#replace:{{PAGENAME}}|'|\'}}' | |||
require('Module:No globals') | require('Module:No globals') |
Edição atual tal como às 00h27min de 7 de fevereiro de 2025
This module implements {{infocard}}.
-------------------------------------------------------------------------------
--
-- Module:Infocard
--
-- This module implements Template:Infocard and is used by a number of other
-- modules to display info cards.
-------------------------------------------------------------------------------
_pageName='{{#replace:{{PAGENAME}}|'|\'}}'
require('Module:No globals')
local m_util = require('Module:Util')
-- ----------------------------------------------------------------------------
-- Main function
-- ----------------------------------------------------------------------------
local function _main(args)
args.heading = args.heading or args.header
args.subheading = args.subheading or args.subheader
local html = mw.html.create('div')
:addClass('info-card')
if args.class then
html:addClass(args.class)
end
if args.above then
html
:tag('div')
:addClass('info-card__above')
:node(args.above)
end
local card = mw.html.create('div')
:addClass('info-card__card')
local header = mw.html.create('div')
:addClass('info-card__header')
header
:tag('div')
:addClass('left')
:wikitext(args.headerleft or '')
local middle = mw.html.create('div')
:addClass('middle')
middle
:tag('div')
:addClass('heading')
:wikitext(args.heading)
if args.subheading then
middle
:tag('div')
:addClass('subheading')
:wikitext(args.subheading)
end
header
:node(middle)
header
:tag('div')
:addClass('right')
:wikitext(args.headerright or '')
card:node(header)
local body = mw.html.create('div')
:addClass('info-card__body')
local block
for i=1, math.huge do -- repeat until no more blocks are found
if args[i] == nil then
break
end
block = mw.html.create('div')
:addClass('block')
if args[i .. 'class'] then
block:addClass(args[i .. 'class'])
end
block:node(args[i])
body:node(block)
end
card:node(body)
html:node(card)
if args.below then
html
:tag('div')
:addClass('info-card__below')
:node(args.below)
end
return tostring(html)
end
-- ----------------------------------------------------------------------------
-- Exported functions
-- ----------------------------------------------------------------------------
local p = {}
p.main = m_util.misc.invoker_factory(_main, {
wrappers = {
'Template:Infocard',
},
})
p.infocard = p.main
p._main = p.main -- Contingency for modules that are still calling p._main()
return p