Module:Icon: Difference between revisions

From Seeds of the Word, the encyclopedia of the influence of the Gospel on culture
(suppress links for modules where the "link" field in the data table is false)
m (1 revision imported)
(No difference)

Revision as of 17:31, October 11, 2021

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

-- This module implements [[Template:Icon]].

require("Module:No globals")

local DATA_MODULE = 'Module:Icon/data'
local p = {}

function p._main(args, data)
	data = data or mw.loadData(DATA_MODULE)
	local code = args.class or args[1]
	local iconData
	if code then
		code = code:match('^%s*(.-)%s*$'):lower() -- trim whitespace and put in lower case
		iconData = data[code]
	end
	if not iconData then
		iconData = data._DEFAULT
	end
	return string.format(
		'[[File:%s%s%s|%s|class=noviewer]]',
		iconData.image,
		iconData.tooltip and '|' .. iconData.tooltip or '',
		iconData.link == false and '|link=' or '',
		args.size or '16x16px'
	)
end

function p.main(frame)
	local args = {}
	for k, v in pairs(frame:getParent().args) do
		args[k] = v
	end
	return p._main(args)
end

return p