Этот модуль предназначен для использования в Template:Editnotices/Namespace/Main . Он условно включает другие шаблоны editnotice.
Тестовые случаи находятся в Module:Mainspace editnotice/testcases .
{{#invoke:Mainspace editnotice|main}}
Параметры не требуются. Для проверки того, какое editnotice будет сгенерировано для определенной страницы, вы можете передать |page=
.
local Arguments = require ( ' Module : Arguments ' ) local Disambiguation = require ( ' Module : Disambiguation ' ) local TfaTitle = require ( ' Module : TFA title ' ) local p = { } p.main = function ( frame ) local args = Arguments.getArgs ( frame ) return p.core ( args.page и mw.title.new ( args.page ) или mw.title.getCurrentTitle ( ) , frame ) end local notifications = { draft_notice = function ( page , ctx ) if page.existences and ( page.isRedirect или ctx.isDisambigPage ) and mw.title.new ( ' Черновик : ' .. page.fullText ) . существует , то верните "Черновик в" конец конец , blp_notice = function ( page ) local content = page : getContent ( ) local living = "%[%[%s*[Cc]ategory:%s*[Ll]iving[_]people%s*%]%]" local possibleLiving = "%[%[%s*[Cc]ategory:%s*[Pp]ossibly[_]living[_]people%s*%]%]" if content and ( content : find ( living ) or content : find ( poslyLiving )) then return "BLP editintro" конец конец , disambig_notice = function ( page , ctx ) if ctx . isDisambigPage then return "Disambig editintro" end end , tfa_notice = function ( page ) if TfaTitle . today_title () == page . text then return "TFA editnotice" end end , refideas_notice = function ( page ) local talkContent = page . talkPageTitle : getContent () if talkContent and talkContent : match ( '%{%{[rR]ef ?idea' ) and not talkContent : match ( "Refideas%-nonotice" ) then return "Refideas editnotice" end end , } p . core = function ( page , frame ) -- Контекстный объект для хранения значений, которые требуют больших затрат на вычисление и требуются -- в нескольких местах local context = { isDisambigPage = Disambiguation . _isDisambiguationPage ( page.fullText ) } локальный текст = ' ' для _ , getNotice в парах ( уведомления ) сделать локальный шаблон = getNotice ( page , context ) текст = текст .. ( шаблон и фрейм : expandTemplate { title = template } или ' ' ) конец возврат текста конец возврат p