Модуль:AdjustSortKey

Документация

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

local p = {}

function p.main(frame)
	local title = mw.title.getCurrentTitle().text;
	for k, v in pairs(frame.args) do
		if type(k) == "number" then
			local start = mw.text.trim(v) .. " ";
			local startLen = mw.ustring.len(start);
			if mw.ustring.sub(title, 1, startLen) == start then
				local key = mw.text.trim(mw.ustring.sub(title, startLen + 1));
				if mw.ustring.len(key) > 0 then
					frame:callParserFunction("DEFAULTSORT", key);
					return;
				end
			end
		end
	end
end

return p