ХӀокху агӀонан йац хьаьжжина версеш, хила мега, цуьна дикаллин мах ца хоттийна болучу барамца.

ХӀокху модулах лаьцна хааман Модуль:RequestTable/doc агӀо кхолла мега

 ---- Этот модуль формирует таблицу по списку
local p = {}

local function buildTable(head, rows)
	local tabl = mw.html.create( 'table' )
		:addClass('standard');

	tabl:tag('tr')
		:tag('th'):wikitext(head[1]):done()
		:tag('th'):wikitext(head[2]);
		
	for i, r in ipairs(rows) do
		if r[2] == nil then
			tabl:tag('tr')
				:tag('td')
				:attr('colspan', '2')
				:css('text-align', 'center')
				:css('color', 'white')
				:css('background', 'gray')
				:wikitext(r[1]);
		else
			tabl:tag('tr')
				:tag('td'):wikitext(r[1]):done()
				:tag('td'):wikitext(r[2]);
		end
	end

	return tostring(tabl);
end

function p.TableByDate(frame)
	local new_args = frame.args;
	if new_args[1] == nil then
        local parent = frame:getParent();
        new_args = parent.args;
    end
	local headertext =  new_args['header'] or 'Статьи, вынесенные на переименование';
	local link = new_args['link'] or 'Википедия:К переименованию';
	local head = {'Дата', headertext };
	
	local daysEarlier = (new_args['days'] and tonumber(new_args['days'])) or 0;
	if daysEarlier <= 0 then
		daysEarlier = 8 -- количество дней для просроченных обсуждений по-умолчанию
	end;
	
	local i=1;
	local j=1;
	local rows = {};
	local divided = false;
	local lang = mw.language.new('ru');
	while new_args[i] ~= nil do
		local y, m, d =  mw.ustring.match(new_args[i], '^(%d+)%-(%d+)%-(%d+)$');
		if y ~= nil then
			local datestr =  lang:formatDate('j xg Y', new_args[i], false);
		-- mw.logObject(datestr, 'datestr');
			if datestr ~= nil then 
				local col1 = '<b>[[' .. link .. '/' .. datestr .. 
					"|" ..  datestr ..  ']]</b> ';
				local rowTime = tonumber(lang:formatDate('Ymd', new_args[i], false));
				local eightDaysEarlier = tonumber(lang:formatDate('Ymd', '-' .. daysEarlier .. 'days', false));
				if rowTime > eightDaysEarlier then
					datestr = lang:formatDate('j"&nbsp;"xg',  new_args[i] .. '+' .. daysEarlier-1 .. ' days');
					col1 = col1 .. '<small>до&nbsp;' .. datestr .. '</small>';
				else 
					if not divided then
						if j > 1 then
							rows[j] = { '<b>Просроченные обсуждения, в которых нужно подвести итог</b>', nil}
							j = j+1;
						end
						divided = true;
					end
				end
				rows[j] = { col1, ''}
			end
		else
			if rows[j][1] ~= nil then
				rows[j][2]= new_args[i];
				j = j+1;
			end
		end 
		i = i+1;
	end
	return buildTable(head, rows);
end

return p;