Module:qualifier

From Linguifex
Revision as of 20:09, 13 July 2021 by Sware (talk | contribs)
Jump to navigation Jump to search


local export = {}

function export.format_qualifier(list)
	if type(list) ~= "table" then
		list = { list }
	end
	
	if #list == 0 then
		return ''
	end

	return '<span class="ib-brac qualifier-brac">(</span>' ..
	       '<span class="ib-content" style="font-style: italic;">' ..
	       table.concat(list, '<span class="ib-comma qualifier-comma">,</span> ') ..
		   '</span><span class="ib-brac qualifier-brac">)</span>'
end

function export.qualifier_t(frame)
	local params = {
	   [1] = {list = true, required = true},
	}
	
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	local subvarieties = mw.loadData("Module:qualifier/subvarieties")

	return export.format_qualifier(args[1])
end

function export.sense(list)
	return export.format_qualifier(list)
		.. '<span class="ib-colon sense-qualifier-colon">:</span>'
end

function export.sense_t(frame)
	local params = {
	   [1] = {list = true, required = true},
	}
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	return export.sense(args[1])
end

function export.gloss_t(frame)
	local params = {
	   [1] = {required = true},
	}
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	return '<span class="gloss-brac">(</span><span class="gloss-content">' ..
			args[1] .. '</span><span class="gloss-brac">)</span>'
end

function export.non_gloss_definition_t(frame)
	local params = {
	   [1] = {required = true},
	}
	local args = require("Module:parameters").process(frame:getParent().args, params)
	
	return '<span class="use-with-mention">' .. require("Module:links").english_links(args[1]) .. '</span>'
end
	
return export