Модуль:AdjustSortKey

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Документация

Этот модуль предназначен для автоматической установки ключа сортировки в случае, когда название статьи начинается со слова, сортировка по которому нежелательна. К примеру, при использовании вызова {{#invoke:AdjustSortKey|main|Залив|Бухта|Губа}}, статья с названием Залив Пильтун будет отображаться вместо раздела категории З, в разделе П.

local p = {}

function p.main(frame)
	local title = mw.title.getCurrentTitle().text -- frame:getTitle()
	local pattern = ''
	for k, v in pairs(frame.args) do
		pattern = '^' .. v .. '%s+«?(.-)»?([^»]-)$'
		-- mw.log('pattern = "' .. pattern .. '"')
		local key = mw.ustring.gsub(title, pattern, '%1%2', 1) 
		if key ~= title then
			frame:callParserFunction("DEFAULTSORT", key);
			-- mw.log('key = "' .. key .. '"')
			return
		end
	end
	frame:callParserFunction("DEFAULTSORT", title);
	-- mw.log('title = "' .. title .. '"')
end

return p