Module:nyms

From Laenkea
Revision as of 11:36, 11 August 2023 by Maria (talk | contribs)
Jump to navigation Jump to search

Documentation for this module may be created at Module:nyms/documentation

local export = {}

local m_languages = require("Module:languages")
local m_links = require("Module:links")
local m_parameters = require("Module:parameters")

local params = {
	[1] = {required = true},
	[2] = {list = true},
}

function export.make_nym_list(data)
	local links = {}
	for _, term in ipairs(data.terms) do
		table.insert(links, m_links.full_link{term = term, language = data.language})
	end
	return '<span class="nyms" data-label="' .. string.lower(data.label) .. '"><span class="nyms-label">' .. data.label .. ':</span> ' .. table.concat(links, ", ") .. '</span>'
end

function export.show_synonyms(frame)
	local args = m_parameters.process(frame:getParent().args, params)
	return export.make_nym_list{
		label = "Synonyms",
		language = m_languages.get_by_code(args[1]),
		terms = args[2],
	}
end

function export.show_antonyms(frame)
	local args = m_parameters.process(frame:getParent().args, params)
	return export.make_nym_list{
		label = "Antonyms",
		language = m_languages.get_by_code(args[1]),
		terms = args[2],
	}
end

return export