Module:nyms: Difference between revisions

From Laenkea
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
local export = {}
local export = {}


local m_languages = require("Module:languages")
local m_links = require("Module:links")
local m_links = require("Module:links")
local m_parameters = require("Module:parameters")
local m_parameters = require("Module:parameters")
Line 26: Line 27:
return export.make_nym_list{
return export.make_nym_list{
label = "Synonyms",
label = "Synonyms",
language = args[1],
language = m_languages.get_by_code(args[1]),
terms = args[2],
terms = args[2],
}
}
Line 35: Line 36:
return export.make_nym_list{
return export.make_nym_list{
label = "Antonyms",
label = "Antonyms",
language = args[1],
language = m_languages.get_by_code(args[1]),
terms = args[2],
terms = args[2],
}
}

Revision as of 11:31, 11 August 2023

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
	local out = '<span class="nyms-toggle" data-label="' .. mw.ustring.lower(data.label) .. '"></span>'
	out = out .. '<dl><dd><span class="nyms">'
	out = out .. '<span class="nyms-label">' .. data.label .. ':</span>'
	out = out .. table.concat(links, ", ")
	out = out .. '</span></dd></dl>'
	return out
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