Модуль:В этот день: различия между версиями
Перейти к навигации
Перейти к поиску
(Новая страница: «local events = { { 'Подписаны договоры', 'подписания договора' }, { 'Вступили в силу договоры', 'вст...») |
м (format) |
||
Строка 10: | Строка 10: | ||
} | } | ||
− | local lang, match = mw.getContentLanguage(), mw.ustring.match | + | local lang, match, format = mw.getContentLanguage(), mw.ustring.match, mw.ustring.format |
local months = ( | local months = ( | ||
Строка 37: | Строка 37: | ||
local sections = {} | local sections = {} | ||
local day = frame.args.day or frame.args ['день'] or frame.args [1] | local day = frame.args.day or frame.args ['день'] or frame.args [1] | ||
− | local | + | local intro = frame.args.format or frame.args ['формат'] or frame.args [2] |
for _, event in ipairs (events) do | for _, event in ipairs (events) do | ||
local heading, genitive = unpack (event) | local heading, genitive = unpack (event) | ||
sections [#sections + 1] = frame:expandTemplate { title = 'В этот день', args = { | sections [#sections + 1] = frame:expandTemplate { title = 'В этот день', args = { | ||
day = day, | day = day, | ||
− | intro = | + | intro = format (intro, heading), |
event = genitive | event = genitive | ||
} } | } } |
Версия от 08:28, 28 августа 2025
события
Код | Вывод |
---|---|
{{#invoke:В этот день|события|1 декабря|format=<h2 style="margin-top: 0">%s</h2>|deferred=yes}}
|
Ошибка Lua на строке 48: attempt to call global 'concat' (a nil value). |
категория
Код | Вывод |
---|---|
{{#invoke:В этот день|категория|1 декабря}}
|
декабрь |
local events = {
{ 'Подписаны договоры', 'подписания договора' },
{ 'Вступили в силу договоры', 'вступления договора в силу' },
{ 'Окончилось действие договоров', 'окончания действия договора' },
{ 'Приняты законы', 'принятия закона' },
{ 'Подписаны законы', 'подписания закона' },
{ 'Опубликованы законы', 'публикации закона' },
{ 'Утратили силу законы', 'утраты законом силы' },
{ 'Окончилось действие законов', 'окончания действия закона' }
}
local lang, match, format = mw.getContentLanguage(), mw.ustring.match, mw.ustring.format
local months = (
function ()
local months = {}
for month = 1, 12 do
local date = '2000-' .. tostring (month) .. '-01'
months [lang:formatDate ('xg', date)] = lang:formatDate ('F', date)
end
return months
end
)()
local function month (date)
return months [match (date, '[а-яё]+') or '']
end
local p = {}
p ['категория'] = function (frame)
local day = frame.args.day or frame.args ['день'] or frame.args [1]
return month (day) or 'Дни'
end
p ['события'] = function (frame)
local sections = {}
local day = frame.args.day or frame.args ['день'] or frame.args [1]
local intro = frame.args.format or frame.args ['формат'] or frame.args [2]
for _, event in ipairs (events) do
local heading, genitive = unpack (event)
sections [#sections + 1] = frame:expandTemplate { title = 'В этот день', args = {
day = day,
intro = format (intro, heading),
event = genitive
} }
end
return concat (sections)
end
return p