Модуль:значение

Материал из Викисловаря
Документация

Описание

Реализован специально для шаблона {{значение}}

-- Модуль:значение v1.3
-- 2015-06-25

local export = {}

local u = require("Module:utils")
local labels = require("Module:labels")

-- Главная функция, которая вызывается в модуле.
function export.get(frame)
	local args = u.clone(frame:getParent().args)
	local lang = args['язык'] or ''
	local keys = {
		'пометы', 'определение', 'синонимы', 'конверсивы', 'антонимы', 
		'гиперонимы', 'гипонимы', 'согипонимы', 'холонимы', 'меронимы',
	}
	for i, key in pairs(keys) do
		ignore_category = (i > 2)
		args[key] = frame:preprocess(labels.convert(frame, args[key] or '', lang, ignore_category))
		if args[key] == '—' or args[key] == '-' or args[key] == '?' then
			args[key] = ''
		end
	end
	args['категории'] = args['категории'] or ''
	args['категории'] = frame:preprocess("{{Категории|язык=" .. lang .. "|" .. args['категории']:gsub(';', '|') .. "}}")
	return frame:expandTemplate{title='значение/вывод', args=args}
end
 
return export