Модуль:К удалению
Внешний вид
Для документации этого модуля может быть создана страница Модуль:К удалению/doc
local p = {}
function p.box( f )
local page = mw.title.getCurrentTitle()
local namespace = page.nsText
local getType = function( namespace, page )
local pageType = 'other'
if namespace == 'Шаблон' or namespace == 'Template' then
pageType = 'template'
elseif namespace == 'Модуль' or namespace == 'Module' then
pageType = 'module'
elseif namespace == 'Категория' or namespace == 'Category' then
pageType = 'category'
elseif namespace == 'Файл' or namespace == 'File' then
pageType = 'file'
elseif namespace == 'Участник' or namespace == 'User' then
pageType = 'user'
elseif namespace == '' then
pageType = 'main'
end
return pageType
end
local pageType = getType( namespace, page )
local getTypeForms = function( pageType )
if pageType == 'module' then
return {gen = 'Этот модуль', acc = 'модуль'}
elseif pageType == 'template' then
return {gen = 'Этот шаблон', acc = 'шаблон'}
elseif pageType == 'main' then
return {gen = 'Эта статья', acc = 'статью'}
elseif pageType == 'category' then
return {gen = 'Эта категория', acc = 'категорию'}
elseif pageType == 'file' then
return {gen = 'Этот файл', acc = 'файл'}
elseif pageType == 'user' then
return {gen = 'Эта страница участника', acc = 'страницу'}
else -- type == 'other'
return {gen = 'Эта страница', acc = 'страницу'}
end
end
local args = require( 'Module:ProcessArgs' ).merge( true )
local msgbox = {}
local typeForms = getTypeForms( pageType )
local talkPage = args["стробс"] or 'Обсуждение Minecraft Wiki:Портал сообщества'
local talkTheme = args["тема"] or ''
if talkTheme ~= '' then
talkTheme = '#' ..talkTheme
end
local kbu = args["КБУ"] or ''
local kbuvar = args["КБУВариант"] or args[1] or ''
local kbutext1 = ''
local text2 = ''
local resontext = ''
local talk = ''
local nocat = args["некат"] or ''
local cat = ''
if nocat == '' then
cat = '[[Категория: Кандидаты на удаление]]'
end
local text3 = '<br><div class ="ubox-summary">Пока процесс обсуждения не завершён, ' .. typeForms.acc .. ' можно попытаться улучшить, однако следует воздерживаться от переименований или немотивированного удаления содержания, подробнее см. [[ruwiki:Википедия:Что делать, если ваша статья стала кандидатом на удаление|руководство к дальнейшему действию]].<br>Не снимайте пометку о выставлении на удаление до окончания обсуждения.</div>'
local spanin = '<span class="delete-reason">'
local spanout = '</span>'
local reson = args[1] or ''
if reson ~= '' then
resontext = ' <br><i>Причина: ' .. spanin .. reson .. spanout .. '</i>'
end
if kbu ~= '' then
kbutext1 = 'быстрому '
text2 = 'Критерий для удаления: '
text3 = spanin .. require('Модуль:КБУ').criterion{kbu, nil, kbuvar} .. spanout
else
talk = '<sup>[[' .. talkPage .. talkTheme .. '|Обсуждение]]</sup>'
text2 = 'Пояснение причин вы можете найти на портале сообщества или на канале в Discord.' .. resontext
end
local phrase1 = ' предлагается к ' .. kbutext1 .. 'удалению.'
table.insert( msgbox, ' {| class="ubox ubox-red subentries-template delete-msgbox" ')
table.insert( msgbox, '|-\n| class="ubox-img"| <div></div>')
table.insert( msgbox, '| class="ubox-field "| <span class="ubox-title">' .. typeForms.gen .. phrase1 .. talk .. '</span>\n<div class="ubox-text">' .. text2 .. text3 .. '</div>')
table.insert( msgbox, '|} ' .. cat)
msgbox = table.concat( msgbox, '\n' )
return msgbox
end
return p