Module:Character Infobox: Difference between revisions
From NOISZ Wiki
RiceEmpress (talk | contribs) No edit summary |
RiceEmpress (talk | contribs) No edit summary |
||
| Line 1: | Line 1: | ||
if args.eye_colour or args.hair_colour or args.height then | local capiunto = require 'capiunto' | ||
local p = {} | |||
function p.main(frame) | |||
local args = frame:getParent().args | |||
local infobox = capiunto.create( { | |||
title1 = args.title1 | |||
} ) | |||
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 then | |||
infobox:addRow(label, value) | |||
end | |||
end | |||
end | |||
if args.eye_colour or args.hair_colour or args.height then | |||
infobox:addHeader( 'Physical' ) | infobox:addHeader( 'Physical' ) | ||
for _, row in ipairs(physical) do | for _, row in ipairs(physical) do | ||
| Line 8: | Line 46: | ||
end | 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 then | |||
infobox:addRow(label, value) | |||
end | |||
end | |||
end | |||
return infobox | |||
end | |||
return p | |||
Revision as of 11:54, 3 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( {
title1 = args.title1
} )
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 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 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 then
infobox:addRow(label, value)
end
end
end
return infobox
end
return p