Automoderated users، رباتها، دیوانسالاران، checkuser، مدیران نظرات، مدیران رابط کاربری، Moderators، پنهانگران، مدیران
۴٬۰۱۷
ویرایش
بدون خلاصۀ ویرایش |
بدون خلاصۀ ویرایش |
||
خط ۴: | خط ۴: | ||
local p = {} | local p = {} | ||
local | local HtmlBuilder = require('Module:HtmlBuilder') | ||
local args = {} | local args = {} | ||
local origArgs | local origArgs | ||
local root | local root | ||
function union(t1, t2) | |||
-- Returns the union of the values of two tables, as a sequence. | -- Returns the union of the values of two tables, as a sequence. | ||
local vals = {} | local vals = {} | ||
خط ۴۵: | خط ۴۵: | ||
if rowArgs.header then | if rowArgs.header then | ||
root | root | ||
.tag('tr') | |||
.addClass(rowArgs.rowclass) | |||
.tag('th') | |||
.attr('colspan', 2) | |||
.addClass(rowArgs.class) | |||
.css('text-align', 'center') | |||
.cssText(args.headerstyle) | |||
.wikitext(rowArgs.header) | |||
elseif rowArgs.data then | elseif rowArgs.data then | ||
local row = root | local row = root.tag('tr') | ||
row | row.addClass(rowArgs.rowclass) | ||
if rowArgs.label then | if rowArgs.label then | ||
row | row | ||
.tag('th') | |||
.attr('scope', 'row') | |||
.css('text-align', 'left') | |||
.cssText(args.labelstyle) | |||
.wikitext(rowArgs.label) | |||
.done() | |||
end | end | ||
local dataCell = row | local dataCell = row.tag('td') | ||
if not rowArgs.label then | if not rowArgs.label then | ||
dataCell | dataCell | ||
.attr('colspan', 2) | |||
.css('text-align', 'center') | |||
end | end | ||
dataCell | dataCell | ||
.addClass(rowArgs.class) | |||
.cssText(rowArgs.datastyle) | |||
.newline() | |||
.wikitext(rowArgs.data) | |||
end | end | ||
end | end | ||
خط ۹۱: | خط ۸۴: | ||
root | root | ||
.tag('caption') | |||
.addClass(args.titleclass) | |||
.cssText(args.titlestyle) | |||
.wikitext(args.title) | |||
end | end | ||
خط ۱۰۱: | خط ۹۴: | ||
root | 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 | end | ||
خط ۱۱۶: | خط ۱۰۹: | ||
root | root | ||
.tag('tr') | |||
.tag('td') | |||
.attr('colspan', '2') | |||
.addClass(args.belowclass) | |||
.css('text-align', 'center') | |||
.cssText(args.belowstyle) | |||
.newline() | |||
.wikitext(args.below) | |||
end | end | ||
خط ۱۵۴: | خط ۱۴۷: | ||
for k, num in ipairs(imagenums) do | for k, num in ipairs(imagenums) do | ||
local caption = args['caption' .. tostring(num)] | local caption = args['caption' .. tostring(num)] | ||
local data = | local data = HtmlBuilder.create().wikitext(args['image' .. tostring(num)]) | ||
if caption then | if caption then | ||
data | data | ||
.tag('br', {selfClosing = true}) | |||
.done() | |||
.tag('div') | |||
.cssText(args.captionstyle) | |||
.wikitext(caption) | |||
end | end | ||
addRow({ | addRow({ | ||
خط ۱۸۲: | خط ۱۷۷: | ||
datastyle = args.datastyle, | datastyle = args.datastyle, | ||
class = args['class' .. tostring(num)], | class = args['class' .. tostring(num)], | ||
rowclass = args['rowclass | rowclass = args['rowclass' .. tostring(num)] | ||
}) | }) | ||
end | end | ||
خط ۱۹۶: | خط ۱۸۶: | ||
root | root | ||
.tag('tr') | |||
.tag('td') | |||
.attr('colspan', '2') | |||
.css('text-align', 'right') | |||
: | .wikitext(mw.getCurrentFrame():expandTemplate({ | ||
args.name, | title = 'navbar', | ||
args = { args.name, mini = 1 } | |||
}) | })) | ||
end | end | ||
خط ۲۰۹: | خط ۱۹۹: | ||
local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) | local italicTitle = args['italic title'] and mw.ustring.lower(args['italic title']) | ||
if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then | if italicTitle == '' or italicTitle == 'force' or italicTitle == 'yes' then | ||
root | root.wikitext(mw.getCurrentFrame():expandTemplate({title = 'italic title'})) | ||
end | end | ||
end | end | ||
خط ۲۱۶: | خط ۲۰۶: | ||
if args.decat ~= 'yes' then | if args.decat ~= 'yes' then | ||
if #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then | if #(getArgNums('data')) == 0 and mw.title.getCurrentTitle().namespace == 0 then | ||
root | root.wikitext('[[Category:Articles which use infobox templates with no data rows]]') | ||
end | end | ||
if args.child == 'yes' and args.title then | if args.child == 'yes' and args.title then | ||
root | root.wikitext('[[Category:Articles which use embedded infobox templates with the title parameter]]') | ||
end | end | ||
end | end | ||
خط ۲۲۸: | خط ۲۱۸: | ||
-- if the infobox is used as a 'child' inside another infobox. | -- if the infobox is used as a 'child' inside another infobox. | ||
if args.child ~= 'yes' then | if args.child ~= 'yes' then | ||
root = | root = HtmlBuilder.create('table') | ||
root | root | ||
.addClass('infobox') | |||
.addClass(args.bodyclass) | |||
.attr('cellspacing', 3) | |||
.css('border-spacing', '3px') | |||
if args.subbox == 'yes' then | if args.subbox == 'yes' then | ||
root | 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 | else | ||
root | root | ||
.css('width', '22em') | |||
end | end | ||
root | root | ||
.cssText(args.bodystyle) | |||
renderTitle() | renderTitle() | ||
renderAboveRow() | renderAboveRow() | ||
else | else | ||
root = | root = HtmlBuilder.create() | ||
root | root | ||
.wikitext(args.title) | |||
end | end | ||
خط ۳۷۶: | خط ۳۶۸: | ||
{prefix = 'data', depend = {'label'}}, | {prefix = 'data', depend = {'label'}}, | ||
{prefix = 'rowclass'}, | {prefix = 'rowclass'}, | ||
{prefix = 'class'} | |||
{prefix = 'class | |||
}, 50) | }, 50) | ||
preprocessSingleArg('headerstyle') | preprocessSingleArg('headerstyle') | ||
preprocessSingleArg('labelstyle') | preprocessSingleArg('labelstyle') |
ویرایش