Модуль: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{
name = 'DEFAULTSORT',
args = {
key,
'noreplace',
},
};
-- mw.log('key = "' .. key .. '"')
break
end
end
-- mw.log('title = "' .. title .. '"')
end
return p