Changes

Jump to navigation Jump to search

Module:Infobox

36 bytes removed, 17:29, 21 October 2015
Updated the module to match the current version at https://en.wikipedia.org/wiki/Module:Infobox.
local p = {}
local HtmlBuilder navbar = require('Module:HtmlBuilderNavbar')._navbar
local args = {}
local origArgs
local root
local function union(t1, t2)
-- Returns the union of the values of two tables, as a sequence.
if rowArgs.header then
root
.:tag('tr') .:addClass(rowArgs.rowclass) :cssText(rowArgs.rowstyle) :attr('id', rowArgs.rowid) .:tag('th') .:attr('colspan', 2) .:attr('id', rowArgs.headerid) .:addClass(rowArgs.class) .:addClass(args.headerclass) .:css('text-align', 'center') .:cssText(args.headerstyle) .:wikitext(rowArgs.header)
elseif rowArgs.data then
local row = root.:tag('tr') row.:addClass(rowArgs.rowclass) row:cssText(rowArgs.rowstyle) row:attr('id', rowArgs.rowid)
if rowArgs.label then
row
.:tag('th') .:attr('scope', 'row') .:attr('id', rowArgs.labelid) .css('text-align', 'left') .:cssText(args.labelstyle) .:wikitext(rowArgs.label) .:done()
end
local dataCell = row.:tag('td')
if not rowArgs.label then
dataCell
.:attr('colspan', 2) .:css('text-align', 'center')
end
dataCell
.:attr('id', rowArgs.dataid) .:addClass(rowArgs.class) .:cssText(rowArgs.datastyle) .:newline() .:wikitext(rowArgs.data)
end
end
root
.:tag('caption') .:addClass(args.titleclass) .:cssText(args.titlestyle) .:wikitext(args.title)
end
root
.:tag('tr') .:tag('th') .:attr('colspan', 2) .:addClass(args.aboveclass) .:css('text-align', 'center') .:css('font-size', '125%') .:css('font-weight', 'bold') .:cssText(args.abovestyle) .:wikitext(args.above)
end
root
.:tag('tr') .:tag('td') .:attr('colspan', '2') .:addClass(args.belowclass) .:css('text-align', 'center') .:cssText(args.belowstyle) .:newline() .:wikitext(args.below)
end
for k, num in ipairs(imagenums) do
local caption = args['caption' .. tostring(num)]
local data = HtmlBuildermw.html.create().:wikitext(args['image' .. tostring(num)])
if caption then
data
.:tag('div') .:cssText(args.captionstyle) .:wikitext(caption)
end
addRow({
class = args['class' .. tostring(num)],
rowclass = args['rowclass' .. tostring(num)],
rowstyle = args['rowstyle' .. tostring(num)],
dataid = args['dataid' .. tostring(num)],
labelid = args['labelid' .. tostring(num)],
root
.:tag('tr') .:tag('td') .:attr('colspan', '2') .:css('text-align', 'right') .:wikitext(mw.getCurrentFrame():expandTemplate(navbar{ title = 'navbar', args = { args.name, mini = 1 }, }))
end
local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title'])
if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then
root.:wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'}))
end
end
if args.decat ~= 'yes' then
if #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then
root.:wikitext('[[Category:Articles which use infobox templates with no data rows]]')
end
if args.child == 'yes' and args.title then
root.:wikitext('[[Category:Articles Pages which use embedded infobox templates with the title parameter]]')
end
end
-- if the infobox is used as a 'child' inside another infobox.
if args.child ~= 'yes' then
root = HtmlBuildermw.html.create('table')
root
.:addClass('infobox') .:addClass(args.bodyclass) .attr('cellspacing', 3) .css('border-spacing', '3px')
if args.subbox == 'yes' then
root
.:css('padding', '0') .:css('border', 'none') .:css('margin', '-3px') .:css('width', 'auto') .:css('min-width', '100%') .:css('font-size', '100%') .:css('clear', 'none') .:css('float', 'none') .:css('background-color', 'transparent')
else
root
.:css('width', '22em')
end
root
.:cssText(args.bodystyle)
renderTitle()
renderAboveRow()
else
root = HtmlBuildermw.html.create()
root
.:wikitext(args.title)
end
{prefix = 'data', depend = {'label'}},
{prefix = 'rowclass'},
{prefix = 'rowstyle'},
{prefix = 'class'},
{prefix = 'dataid'},
Trusted, Bureaucrats
4,228

edits

Navigation menu