Module:CatInfobox

Revision as of 09:05, 2 February 2024 by Skyrina (talk | contribs)

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

local capiunto = require 'capiunto'

local p = {}

function p.main(frame)
	local args = frame:getParent().args
	local headerStyle
	if args.headerstyle and args.headerstyle ~= '' then
		headerStyle = string.format("background-color: %s;", args.headerstyle)
	else
		headerStyle = "background-color: grey;"
	end
	local retval = capiunto.create({
		title = args.name,
		headerStyle = headerStyle,
		captionStyle = "text-align: center;",
		imageStyle = "display: block; margin-left: auto; margin-right: auto; width: 50%;",
	})
	retval:addImage("[[File:" .. args.image .. "|200px]]", args.caption)
	if args.other_names then retval:addRow("Other name(s)", args.other_names) end
	retval:addRow("Breed", args.breed or "Unknown")
	:addRow("Sex", args.sex or "Unknown")
	:addRow("Rarity", args.rarity or "Unknown")
	if args.occupation then retval:addRow("Occupation", args.occupation) end
	if args.appearance then retval:addRow("Appearance", args.appearance) end
	if args.personality then retval:addRow("Personality", args.personality) end
	retval:addRow("First known sighting", args.first_sighting or "Unknown")
	if args.partner or args.children or args.other_relations then
		retval:addHeader("Relations")
		:addRow("Partner", args.partner or "None")
		:addRow("Children", args.children or "None")
	end
	if args.other_relations then retval:addRow("Other", args.other_relations) end
	return retval
end

return p