Module:Infobox
来自互联网一战博物馆
此模块的文档可以在Module:Infobox/doc创建
local p = {}
function p.infobox()
local args = require( 'Module:ProcessArgs' ).merge( true )
return args[ 'infobox-body-only' ] and p.body( args ) or p.fullInfobox( args )
end
function p.infoboxBody()
return p.body( require( 'Module:ProcessArgs' ).merge( true ) )
end
function p.infoboxRows()
return p.rows( require( 'Module:ProcessArgs' ).merge( true ) )
end
function p.infoboxRow()
return p.row( require( 'Module:ProcessArgs' ).merge( true ) )
end
function p.row( args )
return mw.html.create( 'div' ):addClass( 'infobox-row' )
:tag( 'div' ):addClass( 'infobox-row-label' ):wikitext( '\n' .. mw.language.getContentLanguage():ucfirst( args[ 1 ] or args.label or '' ) ):done()
:tag( 'div' ):addClass( 'infobox-row-field' ):wikitext( '\n' .. ( args[ 2 ] or args.field or '' ) ):addClass( args.class ):done()
:done()
end
function p.rows( args )
return tostring( mw.html.create( 'div' ):addClass( 'infobox-rows' ):wikitext( args.rows or '' ) ) ..
( args.footer and tostring( mw.html.create( 'div' ):addClass( 'infobox-footer' ):wikitext( args.footer ) ) or '' )
end
function p.body( args )
return mw.ustring.format( '%s\n%s',
args.imagearea or require( 'Module:Image area' ).main( args ),
args[ 'infobox-rows' ] or p.rows( args )
)
end
function p.fullInfobox( args )
return require( 'Module:TSLoader' ).call( 'Template:Infobox/styles.css' ) .. tostring(
mw.html.create( 'div' ):addClass( 'notaninfobox tabber-container-infobox' )
:tag( 'div' ):addClass( 'mcwiki-header infobox-title' ):wikitext( args.title or mw.title.getCurrentTitle().baseText ):done()
:wikitext( args[ 'infobox-body' ] or p.body( args ) )
)
end
return p