Модуль:ArticleCandidatesRow
Перейти до навігації
Перейти до пошуку
Документація модуля[створити]
Зараз цей модуль не має відповідної документації. Якщо вам відомі призначення та засади використання цього модуля, будь ласка, напишіть хоча б коротеньку документацію. |
Дописувачі можуть експериментувати на підсторінках пісочниця (створити | дзеркало) та тести (створити) цього модуля. Підсторінки цієї сторінки. |
local p = {}
function p.row(frame)
local args = frame.args
if not args.days then
args.days = 7
end
if not args.dateFormat then
args.dateFormat = 'j xg Y'
end
local res = ''
local linkText
if tonumber(frame:callParserFunction('#time', 'Y', args.targetDay)) < tonumber(frame:callParserFunction('#time', 'Y')) then
linkText = frame:callParserFunction('#time', 'j xg Y', args.targetDay)
else
linkText = frame:callParserFunction('#time', 'j xg', args.targetDay)
end
local dayPage = frame:callParserFunction('#time', args.dateFormat, args.targetDay)
local endDay
if tonumber(frame:callParserFunction('#time', 'Ymd')) <= tonumber(frame:callParserFunction('#time', 'Ymd', args.targetDay .. '+' .. args.days .. 'days')) then
endDay = 'до ' .. frame:callParserFunction('#time', 'j xg', args.targetDay .. '+' .. args.days .. 'days')
end
local delim
while true do
local i = 0
local tempDay = frame:callParserFunction('#time', args.dateFormat, args.targetDay .. '+' .. i .. 'days')
if tonumber(frame:callParserFunction('#time', 'Ymd', args.targetDay .. '+' .. i .. 'days')) >= tonumber(frame:callParserFunction('#time', 'Ymd', '-' .. args.days .. 'days')) then
break
end
if tonumber(frame:callParserFunction('#time', 'Ymd', '-' .. (args.days + 1) .. 'days')) == tonumber(frame:callParserFunction('#time', 'Ymd', args.targetDay .. '+' .. i .. 'days')) then
delim = mw.html.create('tr')
delim
:attr('colspan', '2')
:css('background', 'gray')
:css('padding', '.5em')
:css('text-align', 'center')
:css('color', 'white')
:css('font-weight', 'bold')
:wikitext('Обговорення, що потребують підбиття підсумків')
:done()
break
end
if tonumber(frame:callParserFunction('#ifexist', args.pagename .. '/' .. tempDay, 1, 0)) == 1 then
break
else
i = i + 1
end
end
rw = mw.html.create('tr')
rw
:css('border-bottom', '1px solid #ddd')
:tag('td')
:css('padding', '.5em')
:tag('p')
:css('margin', '0')
:css('font-size', '1.2em')
:css('font-weight', 'bold')
:wikitext('[[' .. args.pagename .. '/' .. dayPage .. '|' .. linkText .. ']]')
:done()
:tag('p')
:css('margin', '0')
:wikitext(endDay)
:done()
:done()
:tag('td')
:css('padding', '.5em')
:wikitext(args.content)
:done()
:done()
if delim then
res = res .. tostring(delim)
end
res = res .. tostring(rw)
return res
end
return p