RiceEmpress (talk | contribs) No edit summary |
RiceEmpress (talk | contribs) No edit summary |
||
(15 intermediate revisions by the same user not shown) | |||
Line 4: | Line 4: | ||
local args = frame:getParent().args | local args = frame:getParent().args | ||
local infobox = capiunto.create( { | local infobox = capiunto.create( { | ||
title = tostring(mw.title.getCurrentTitle()) | |||
} ) | } ) | ||
:addImage( args.image1, args.caption ) | if args.image1 then | ||
local | infobox:addImage('[[File:' .. args.image1 .. '|200px]]', args.caption ) | ||
end | |||
local attributes = | |||
{ | { | ||
{'Voice', args.voice }, | {'Voice', args.voice }, | ||
{ 'JP Name', args.jpname }, | { 'JP Name', args.jpname }, | ||
{ 'Also known as', args.also_known_as } | { 'Also known as', args.also_known_as } | ||
} | |||
local physical = | |||
{ | |||
{ 'Eye Colour', args.eye_colour }, | { 'Eye Colour', args.eye_colour }, | ||
{ 'Hair Colour', args.hair_colour }, | { 'Hair Colour', args.hair_colour }, | ||
{ 'Height', args.height } | { 'Height', args.height } | ||
} | |||
local biographical = | |||
{ | |||
{ 'Age', args.age }, | { 'Age', args.age }, | ||
{ 'Birthday', args.birthday }, | { 'Birthday', args.birthday }, | ||
Line 21: | Line 29: | ||
{ 'Relationships', args.relationships } | { 'Relationships', args.relationships } | ||
} | } | ||
for | if args.voice or args.jpname or args.also_known_as then | ||
local label, value = row[1], row[2] | for _, row in ipairs(attributes) do | ||
if value and value ~= '' then | local label, value = row[1], row[2] | ||
if value and value ~= '' then | |||
infobox:addRow(label, value) | |||
end | |||
end | |||
end | |||
if args.eye_colour or args.hair_colour or args.height then | |||
infobox:addHeader( 'Physical' ) | |||
for _, row in ipairs(physical) do | |||
local label, value = row[1], row[2] | |||
if value and value ~= '' then | |||
infobox:addRow(label, value) | |||
end | |||
end | |||
end | |||
if args.age or args.birthday or args.likes or args.dislikes or args.relationships then | |||
infobox:addHeader( 'Biographical' ) | |||
for _, row in ipairs(biographical) do | |||
local label, value = row[1], row[2] | |||
if value and value ~= '' then | |||
infobox:addRow(label, value) | |||
end | |||
end | end | ||
end | end | ||
return infobox | return infobox | ||
end | end | ||
return p | return p |
Latest revision as of 10:01, 4 June 2025
Documentation for this module may be created at Module:Character Infobox/doc
local capiunto = require 'capiunto' local p = {} function p.main(frame) local args = frame:getParent().args local infobox = capiunto.create( { title = tostring(mw.title.getCurrentTitle()) } ) if args.image1 then infobox:addImage('[[File:' .. args.image1 .. '|200px]]', args.caption ) end local attributes = { {'Voice', args.voice }, { 'JP Name', args.jpname }, { 'Also known as', args.also_known_as } } local physical = { { 'Eye Colour', args.eye_colour }, { 'Hair Colour', args.hair_colour }, { 'Height', args.height } } local biographical = { { 'Age', args.age }, { 'Birthday', args.birthday }, { 'Likes', args.likes }, { 'Dislikes', args.dislikes }, { 'Relationships', args.relationships } } if args.voice or args.jpname or args.also_known_as then for _, row in ipairs(attributes) do local label, value = row[1], row[2] if value and value ~= '' then infobox:addRow(label, value) end end end if args.eye_colour or args.hair_colour or args.height then infobox:addHeader( 'Physical' ) for _, row in ipairs(physical) do local label, value = row[1], row[2] if value and value ~= '' then infobox:addRow(label, value) end end end if args.age or args.birthday or args.likes or args.dislikes or args.relationships then infobox:addHeader( 'Biographical' ) for _, row in ipairs(biographical) do local label, value = row[1], row[2] if value and value ~= '' then infobox:addRow(label, value) end end end return infobox end return p