Jump to content

Module:Optional style: Difference between revisions

From Wikisource
m Changed protection settings for "Module:Optional style": High traffic page or template/module: Used to produce front-page content ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
Lee (talk | contribs)
නිර්මාණය
(No difference)

Revision as of 14:37, 12 January 2023

Logic for {{Optional style}}


--[=[
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)
	
	out  = ''
	
	local num_processed = 0
	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