Module:Optional style: Difference between revisions

From Ekatra Foundation
Jump to navigation Jump to search
m (1 revision imported)
enws>CalendulaAsteraceae
(remove unused variable)
Line 1: Line 1:
--[=[
--[=[
Simple module to construct a style attribute with an undefined number (including
Simple module to construct a style attribute
zero) of CSS properties
with an undefined number (including zero) of CSS properties
]=]
]=]


Line 8: Line 8:


--[=[
--[=[
Construct the string from the given table of property:values
Construct the string from the given table of property:values
]=]
]=]
function p.make_style_string(properties)
function p.make_style_string(properties)
local out  = ''
local out  = ''
local num_processed = 0
for k, v in pairs(properties) do
for k, v in pairs(properties) do
if k ~= 'style' and v~= '' then
if k ~= 'style' and v~= '' then
Line 33: Line 31:


--[=[
--[=[
The main entry function from templates
The main entry function from templates
 
Arguments are taken from both frame and parent argument lists
Arguments are taken from both frame and parent argument lists
]=]
]=]
function p.optional_style(frame)
function p.optional_style(frame)

Revision as of 06:48, 8 January 2025

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

--[=[
	Simple module to construct a style attribute
	with an undefined number (including zero) of CSS properties
]=]

local p = {} --p stands for package
local getArgs = require('Module:Arguments').getArgs

--[=[
	Construct the string from the given table of property:values
]=]
function p.make_style_string(properties)
	local out  = ''
	
	for k, v in pairs(properties) do
		if k ~= 'style' and v~= '' then
			out = out .. k .. ':' .. v .. ';'
		end
	end
	
	if properties.style ~= nil and properties.style ~= '' then
		out = out .. properties.style	
	end
	
	if out == '' then
		return ''
	end
	
	return 'style="' .. out .. '"'
end

--[=[
	The main entry function from templates
	
	Arguments are taken from both frame and parent argument lists
]=]
function p.optional_style(frame)
	local args = getArgs(frame)
	return p.make_style_string(args)
end

return p