Content deleted Content added
Alistair3149 (talk | contribs) Created page with "require( 'strict' ) local p = {} local i18n = require( 'Module:i18n' ):new() --- Wrapper function for Module:i18n.translate --- --- @param key string The translation key --- @return string If the key was not found, the key is returned local function t( key ) return i18n:translate( key ) end local function getObjectHTML( data ) local html = mw.html.create( 'div' ) :addClass( 'template-dimensions-isometric' ) :css( { [ '--object-length..." |
Alistair3149 (talk | contribs) No edit summary |
||
Line 36: | Line 36: | ||
--- @return number|nil |
--- @return number|nil |
||
local function getBiggestNumber( numbers ) |
local function getBiggestNumber( numbers ) |
||
local biggest |
local biggest = 0 |
||
for i = 1, #numbers do |
for i = 1, #numbers do |
||
local number = numbers[ i ] |
local number = numbers[ i ] |
Revision as of 03:38, 25 October 2024
This documentation is transcluded from Module:Dimensions/doc. Changes can be proposed in the talk page.
Module:Dimensions is shared across the Star Citizen Wikis.
This module is shared across the Star Citizen Wikis. Any changes should also be relayed to the GitHub repository.
Function list |
---|
require( 'strict' )
local p = {}
local i18n = require( 'Module:i18n' ):new()
--- Wrapper function for Module:i18n.translate
---
--- @param key string The translation key
--- @return string If the key was not found, the key is returned
local function t( key )
return i18n:translate( key )
end
local function getObjectHTML( data )
local html = mw.html.create( 'div' )
:addClass( 'template-dimensions-isometric' )
:css( {
[ '--object-length' ] = data.length or data.longestSide,
[ '--object-width' ] = data.width or data.longestSide,
[ '--object-height' ] = data.height or data.longestSide,
[ '--object-longest-side' ] = data.longestSide
} )
return html
end
local function getOutputHTML( data )
end
--- Return the biggest number
---
--- @param numbers table
--- @return number|nil
local function getBiggestNumber( numbers )
local biggest = 0
for i = 1, #numbers do
local number = numbers[ i ]
-- Attempt to convert to number if it is string
if type( number ) == 'string' then
number = tonumber( number )
end
if type( number ) == 'number' then
if number > biggest then
biggest = number
end
end
end
return biggest
end
local function getDimensionsData( args )
local longestSide = getBiggestNumber( {
args.length,
args.width,
args.height
} )
return {
longestSide = longestSide,
length = tonumber( args.length ),
width = tonumber( args.width ),
height = tonumber( args.height ),
mass = tonumber( args.mass )
}
end
function p.main( frame )
local args = require( 'Module:Arguments' ).getArgs( frame )
local data = getDimensionsData( args )
return tostring( getObjectHTML( data ) ) .. frame:extensionTag{
name = 'templatestyles', args = { src = 'Module:Dimensions/styles.css' }
}
end
return p