Модуль:AdjustSortKey

З пляцоўкі Вікіпедыя
Jump to navigation Jump to search
(i) Дакументацыя

Гэты модуль прызначаны для аўтаматычнай устаноўкі ключа сартавання ў выпадку, калі назва артыкула пачынаецца са слова, сартаванне па якім непажадана. Напрыклад, пры выкарыстанні выкліку {{#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