Module:Infobox: रिवीजन सभ के बीचा में अंतर

Content deleted Content added
allow setting ids for rows, headers, labels and data fields, per protected edit request by User:Czarkoff
update to use mw.html instead of Module:HtmlBuilder - conversion courtesy of User:WOSlinker
लाइन 4:
local p = {}
 
local HtmlBuilder = require('Module:HtmlBuilder')
local args = {}
local origArgs
local root
 
local function union(t1, t2)
-- Returns the union of the values of two tables, as a sequence.
Line 45 ⟶ 43:
if rowArgs.header then
root
.:tag('tr')
.:addClass(rowArgs.rowclass)
.: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.: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
Line 90 ⟶ 88:
 
root
.:tag('caption')
.:addClass(args.titleclass)
.:cssText(args.titlestyle)
.:wikitext(args.title)
end
 
Line 100 ⟶ 98:
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
 
Line 115 ⟶ 113:
root
.:tag('tr')
.:tag('td')
.:attr('colspan', '2')
.:addClass(args.belowclass)
.:css('text-align', 'center')
.:cssText(args.belowstyle)
.:newline()
.:wikitext(args.below)
end
 
Line 153 ⟶ 151:
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({
Line 194 ⟶ 192:
root
.:tag('tr')
.:tag('td')
.:attr('colspan', '2')
.:css('text-align', 'right')
.:wikitext(mw.getCurrentFrame():expandTemplate({
title = 'navbar',
args = { args.name, mini = 1 }
Line 207 ⟶ 205:
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
Line 214 ⟶ 212:
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 which use embedded infobox templates with the title parameter]]')
end
end
Line 226 ⟶ 224:
-- 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
 
"https://bh.wikipedia.org/wiki/Module:Infobox" से लिहल गइल