Nothing Special   »   [go: up one dir, main page]

Перейти к содержанию

Модуль:слоги

Материал из Викисловаря

Для документации этого модуля может быть создана страница Модуль:слоги/Документация

local p = {};
local hyphen = '<span class="hyph" style="color:lightgreen;">-</span>'
local dot = '<span class="hyph-dot" style="color:red;">·</span>'

function p.get_syllables(value)
	result = ''
	-- value = value:gsub("/", hyphen)
	syllables = string.gmatch(value, '([^/]+)')
	syllables_list = {}
	local n = 0
	for syllable in syllables do
		n = n + 1
		syllables_list[n] = syllable
	end
	for i, syllable in ipairs(syllables_list) do
		result = result .. syllable
		if i == n then
			break  -- последний элемент
		end
		local next_syllable = syllables_list[i+1]
		if mw.ustring.len(syllable) == 1 or mw.ustring.len(next_syllable) == 1 then
			result = result .. dot
		else
			result = result .. hyphen
		end
	end
	return result
end

function p.get(frame)
	local value = frame.args['value']
	return p.get_syllables(value)
end

return p