Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:Infobox: Difference between revisions

From GameBrew
No edit summary
No edit summary
Tag: Manual revert
 
(27 intermediate revisions by the same user not shown)
Line 1: Line 1:
--- Simple infobox module
--- Simple infobox module
local p = {}
local p = {}
 
--- Main function
--- Main function
function p.infobox( frame )
function p.infobox( frame )
Line 13: Line 13:
local infobox = mw.html.create('table'):addClass('infobox')
local infobox = mw.html.create('table'):addClass('infobox')
   
   
--top infobox ads
local div = mw.html.create('div')
div:attr('id', 'Ads-InfoboxTop')
infobox:node(div)
-- Title
-- Title
local title = args.title
local title = args.title
Line 25: Line 30:
image = 'File:' .. image
image = 'File:' .. image
end
end
image = '' .. image .. ' | ' .. ('250px') .. ''
image = '[[' .. image .. '|' .. ('300px') .. ']]'
end
end
local imgcell = infobox:tag('tr'):tag('td'):addClass('infobox-image')
local imgcell = infobox:tag('tr'):tag('td'):addClass('infobox-image')
Line 34: Line 39:
end
end
end
end
-- Description
          local description = args.description
          if not description or description == '' then description = mw.title.getCurrentTitle().text end
 
-- Rows
-- Rows
for i = 1, 20 do
for i = 1, 30 do
local header = args['header' .. i]; if header == '' then header = nil end
local header = args['header' .. i]; if header == '' then header = nil end
local label = args['label' .. i]; if label == '' then label = nil end
local label = args['label' .. i]; if label == '' then label = nil end

Latest revision as of 12:51, 27 Mayıs 2023

Documentation for this module may be created at Module:Infobox/doc

--- Simple infobox module
local p = {}

--- Main function
function p.infobox( frame )
	local args
	if frame == mw.getCurrentFrame() then
		args = frame:getParent().args
	else
		args = frame
	end
 
	local infobox = mw.html.create('table'):addClass('infobox')
 
--top infobox ads
local div = mw.html.create('div')
div:attr('id', 'Ads-InfoboxTop')
infobox:node(div)

	-- Title
	local title = args.title
	if not title or title == '' then title = mw.title.getCurrentTitle().text end
	infobox:tag('tr'):tag('th'):addClass('infobox-title'):attr('scope','col'):attr('colspan',2):wikitext(title)
 
	-- Image
	local image = args.image
	if image and image ~= '' then
		if image:sub(1,2) ~= '[[' then
			if not image:find(':') then
				image = 'File:' .. image	
			end
			image = '[[' .. image .. '|' .. ('300px') .. ']]'
		end
		local imgcell = infobox:tag('tr'):tag('td'):addClass('infobox-image')
			:attr('colspan',2):wikitext(image)
		local caption = args.imagecaption
		if caption and caption ~= '' then
			imgcell:wikitext("<br />''" .. caption .. "''")
		end
	end
	-- Description
           local description = args.description
           if not description or description == '' then description = mw.title.getCurrentTitle().text end

	-- Rows
	for i = 1, 30 do
		local header = args['header' .. i]; if header == '' then header = nil end
		local label = args['label' .. i]; if label == '' then label = nil end
		local data = args['data' .. i]; if data == '' then data = nil end
 
		if header then
			infobox:tag('tr')
				:tag('th'):addClass('infobox-header'):attr('scope','col'):attr('colspan',2):wikitext(header)
		end
		if data then
			if label then
				infobox:tag('tr')
					:tag('th'):attr('scope','row'):addClass('infobox-label'):wikitext(label):done()
					:tag('td'):addClass('infobox-data'):wikitext(data)
			else
				infobox:tag('tr')
					:tag('td'):addClass('infobox-data'):attr('colspan',2)
						:css('text-align','center'):wikitext(data)
			end
		end
	end
 
	-- Below
	local below = args.below
	if below and below ~= '' then
		infobox:tag('tr'):tag('td'):addClass('infobox-below'):attr('colspan',2):wikitext(below)
	end
 
	return infobox
end
 
return p

Advertising: