<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ANumberOf</id>
	<title>Модуль:NumberOf - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ANumberOf"/>
	<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:NumberOf&amp;action=history"/>
	<updated>2026-11-07T23:09:20Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:NumberOf&amp;diff=7256&amp;oldid=prev</id>
		<title>wp&gt;ru.wikipedia: Импорт из русской Википедии, версия 153807529</title>
		<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:NumberOf&amp;diff=7256&amp;oldid=prev"/>
		<updated>2026-07-03T16:57:17Z</updated>

		<summary type="html">&lt;p&gt;Импорт из русской Википедии, версия 153807529&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Модуль для шаблонов серии NUMBEROF и страницы [[Википедия:Список Википедий]]&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Важнейшие переменные&lt;br /&gt;
local mwlang = mw.getContentLanguage()&lt;br /&gt;
local langs = {}&lt;br /&gt;
local cache = {}&lt;br /&gt;
&lt;br /&gt;
-- Разделы Википедии, закрытые от редактирования&lt;br /&gt;
local readOnly = {&lt;br /&gt;
	ak = true,&lt;br /&gt;
	aa = true,&lt;br /&gt;
	cho = true,&lt;br /&gt;
	ho = true,&lt;br /&gt;
	hz = true,&lt;br /&gt;
	ii = true,&lt;br /&gt;
	kj = true,&lt;br /&gt;
	kr = true,&lt;br /&gt;
	na = true,&lt;br /&gt;
	lrc = true,&lt;br /&gt;
	mh = true,&lt;br /&gt;
	mus = true,&lt;br /&gt;
	ng = true,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Проверка пустоты параметра&lt;br /&gt;
local function isEmpty(s)&lt;br /&gt;
	return s == nil or s == &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Округление до сотых&lt;br /&gt;
local function round(n)&lt;br /&gt;
	return math.floor(n * 100) / 100&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Форматирование даты&lt;br /&gt;
local function formatDate(val)&lt;br /&gt;
	return mwlang:formatDate(&amp;#039;j xg Y, G:i&amp;#039;, val) .. &amp;#039; (UTC)&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Длина таблицы&lt;br /&gt;
local function tableLength(t)&lt;br /&gt;
	local count = 0&lt;br /&gt;
	for _ in pairs(t) do count = count + 1 end&lt;br /&gt;
	return count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Вычисление вики по переданному номеру&lt;br /&gt;
local function calculatePosition(pos, info)&lt;br /&gt;
	pos = tonumber(pos)&lt;br /&gt;
	for key in pairs(info) do&lt;br /&gt;
		if key ~= &amp;#039;total&amp;#039; and info[key][&amp;#039;pos&amp;#039;] == pos then&lt;br /&gt;
			return key&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Подгрузка и кэширование табличных данных с Викисклада&lt;br /&gt;
local function loadTabData( name )&lt;br /&gt;
	if cache[ name ] then&lt;br /&gt;
		return cache[ name ]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local tab = mw.ext.data.get( name )&lt;br /&gt;
	&lt;br /&gt;
	local fields = {}&lt;br /&gt;
	for index, field in ipairs( tab[ &amp;#039;schema&amp;#039; ][ &amp;#039;fields&amp;#039; ] ) do&lt;br /&gt;
		fields[ index ] = field[ &amp;#039;name&amp;#039; ]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	cache[ name ] = {}&lt;br /&gt;
	for _, row in ipairs( tab[ &amp;#039;data&amp;#039; ] ) do&lt;br /&gt;
		local langData = {}&lt;br /&gt;
		for index, value in ipairs( row ) do&lt;br /&gt;
			langData[ fields[ index ] ] = value&lt;br /&gt;
		end&lt;br /&gt;
		cache[ name ][ langData[ &amp;#039;lang&amp;#039; ] ] = langData&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return cache[ name ]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Рендеринг необходимого параметра из страницы с данными&lt;br /&gt;
local function getParam(f, info)&lt;br /&gt;
	-- Парсинг параметров шаблона&lt;br /&gt;
	local wiki = f.wiki&lt;br /&gt;
	local param = f.param&lt;br /&gt;
	local fmt = f.fmt&lt;br /&gt;
	&lt;br /&gt;
	-- Если нет обязательных параметров, выводится ноль&lt;br /&gt;
	local result&lt;br /&gt;
	if isEmpty(wiki) or isEmpty(param) then&lt;br /&gt;
		result = 0&lt;br /&gt;
	else&lt;br /&gt;
		-- Убираем NUMBEROF из легаси-кода параметров&lt;br /&gt;
		param = param:lower():gsub(&amp;#039;numberof&amp;#039;,&amp;#039;&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		if param == &amp;#039;date&amp;#039; then&lt;br /&gt;
			result = formatDate(info[&amp;#039;total&amp;#039;][&amp;#039;date&amp;#039;])&lt;br /&gt;
			return result&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if param == &amp;#039;pos&amp;#039; and tonumber(wiki) ~= nil then&lt;br /&gt;
			-- &lt;br /&gt;
			result = calculatePosition(wiki, info)&lt;br /&gt;
			return result&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Расчёты для общего числа разделов&lt;br /&gt;
		if wiki == &amp;#039;total&amp;#039; then&lt;br /&gt;
			if param == &amp;#039;all&amp;#039; then&lt;br /&gt;
				result = tableLength(info) - 1&lt;br /&gt;
			end&lt;br /&gt;
			if param == &amp;#039;active&amp;#039; then&lt;br /&gt;
				result = tableLength(info) - 1 - tableLength(readOnly)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local obj = info[wiki]&lt;br /&gt;
		if obj ~= nil then&lt;br /&gt;
			if param ~= nil and info[wiki][param] ~= nil then&lt;br /&gt;
				result = info[wiki][param]&lt;br /&gt;
				&lt;br /&gt;
				-- Форматируем значение, если задан параметр&lt;br /&gt;
				if not isEmpty(fmt) and type(result) == &amp;#039;number&amp;#039; then&lt;br /&gt;
					if param == &amp;#039;depth&amp;#039; then&lt;br /&gt;
						result = math.floor(result * 100) / 100&lt;br /&gt;
					end&lt;br /&gt;
					result = mwlang:formatNum(result)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			result = 0&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(result)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Вывод ссылки на языковой раздел&lt;br /&gt;
local function renderLink(val, text)&lt;br /&gt;
	local text = (isEmpty(text) and val or text)&lt;br /&gt;
	&lt;br /&gt;
	local result = &amp;#039;&amp;#039;&lt;br /&gt;
	if val ~= mwlang:getCode() then&lt;br /&gt;
		result = result .. &amp;#039;[[:&amp;#039; .. val ..  &amp;#039;:|&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		if readOnly[val] == true then&lt;br /&gt;
			result = result .. string.format(&amp;#039;&amp;lt;s title=&amp;quot;Данный раздел закрыт и доступен только в режиме для чтения&amp;quot;&amp;gt;%s&amp;lt;/s&amp;gt;&amp;#039;, text)&lt;br /&gt;
		else&lt;br /&gt;
			result = result .. text&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		result = result .. &amp;#039;]]&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		result = result .. text&lt;br /&gt;
	end&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Вывод названия языка&lt;br /&gt;
local function renderLang(val, frame)&lt;br /&gt;
	local text = langs[val] and langs[val][1] or mwlang:ucfirst(mw.language.fetchLanguageName(val))&lt;br /&gt;
	local link = langs[val] and langs[val][2] or nil&lt;br /&gt;
	local result = text&lt;br /&gt;
	if readOnly[val] == true then&lt;br /&gt;
		result = &amp;#039;&amp;lt;s title=&amp;quot;Данный раздел закрыт и доступен только в режиме для чтения&amp;quot;&amp;gt;&amp;#039; .. text .. &amp;#039;&amp;lt;/s&amp;gt; (закрыт)&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not isEmpty(link) then&lt;br /&gt;
		result = string.format(&amp;#039;[[:%s|%s]]&amp;#039;, link, result)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if val == mwlang:getCode() then&lt;br /&gt;
		result = result .. &amp;#039; [[File:Mw-unwatch-icon.svg|16px|text-top|alt=(текущий раздел)|link=]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода ячейки&lt;br /&gt;
local function renderNum(val, key, stats)&lt;br /&gt;
	local text = mwlang:formatNum(val)&lt;br /&gt;
	if isEmpty(stats) or val == 0 then&lt;br /&gt;
		return text&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return string.format(&lt;br /&gt;
		&amp;#039;[[:%s:%s|%s]]&amp;#039;,&lt;br /&gt;
		key,&lt;br /&gt;
		stats,&lt;br /&gt;
		text&lt;br /&gt;
	)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода ряда таблицы&lt;br /&gt;
local function createRow(key, val, frame)&lt;br /&gt;
	local result = mw.html.create(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;right&amp;#039;)&lt;br /&gt;
	if key == mwlang:getCode() then&lt;br /&gt;
		result&lt;br /&gt;
			:css(&amp;#039;background&amp;#039;, &amp;#039;var(--background-color-success-subtle, #dff2eb)&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;color&amp;#039;, &amp;#039;inherit&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;font-weight&amp;#039;, &amp;#039;bold&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(val[&amp;#039;pos&amp;#039;])&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderLink(key))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderLang(key, frame))&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;articles&amp;#039;], key, &amp;#039;Special:Statistics&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;pages&amp;#039;]))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;edits&amp;#039;]))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(round(val[&amp;#039;depth&amp;#039;])))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;users&amp;#039;], key, &amp;#039;Special:ListUsers&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;activeusers&amp;#039;], key, &amp;#039;Special:ActiveUsers&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;admins&amp;#039;], key, &amp;#039;Special:ListAdmins&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;td&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;files&amp;#039;], key, &amp;#039;Special:ListFiles&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода шапки таблицы&lt;br /&gt;
local function createHeader()&lt;br /&gt;
	local result = mw.html.create(&amp;#039;table&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;wikitable sortable&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, &amp;#039;font-feature-settings:&amp;quot;tnum&amp;quot; 1; margin:0.25em 0; width:100%;&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;width&amp;#039;, &amp;#039;100%&amp;#039;)&lt;br /&gt;
		:css(&amp;#039;margin&amp;#039;, &amp;#039;0.25em 0&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	local cells = {&lt;br /&gt;
		&amp;#039;№&amp;#039;,&lt;br /&gt;
		&amp;#039;Код&amp;#039;,&lt;br /&gt;
		&amp;#039;Язык&amp;#039;,&lt;br /&gt;
		&amp;#039;Статей&amp;#039;,&lt;br /&gt;
		&amp;#039;Страниц&amp;#039;,&lt;br /&gt;
		&amp;#039;Правок&amp;#039;,&lt;br /&gt;
		&amp;#039;&amp;lt;abbr title=&amp;quot;Глубина&amp;quot;&amp;gt;Глуб.&amp;lt;/abbr&amp;gt;&amp;#039;,&lt;br /&gt;
		&amp;#039;Участников&amp;#039;,&lt;br /&gt;
		&amp;#039;&amp;lt;abbr title=&amp;quot;Активных участников&amp;quot;&amp;gt;(акт.)&amp;lt;/abbr&amp;gt;&amp;#039;,&lt;br /&gt;
		&amp;#039;&amp;lt;abbr title=&amp;quot;Администраторов&amp;quot;&amp;gt;Адм.&amp;lt;/abbr&amp;gt;&amp;#039;,&lt;br /&gt;
		&amp;#039;Файлов&amp;#039;,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	for i, val in ipairs(cells) do&lt;br /&gt;
		result&lt;br /&gt;
			:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
			:css(&amp;#039;text-align&amp;#039;, (val == &amp;#039;Язык&amp;#039; and &amp;#039;left&amp;#039; or &amp;#039;right&amp;#039;))&lt;br /&gt;
			:css(&amp;#039;width&amp;#039;, (val == &amp;#039;Язык&amp;#039; and &amp;#039;25%&amp;#039; or nil))&lt;br /&gt;
			:wikitext(val)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода подвала таблицы&lt;br /&gt;
local function createFooter(frame, hide)&lt;br /&gt;
	-- Параметр hide отвечает за оптическое выравнивание таблиц&lt;br /&gt;
	local val = frame[&amp;#039;total&amp;#039;]&lt;br /&gt;
	local cellStyle = &amp;#039;text-align:right;&amp;#039;&lt;br /&gt;
	local cellStyleHide = &amp;#039;color:transparent; padding-top:0; padding-bottom:0; white-space:nowrap;&amp;#039;&lt;br /&gt;
	if hide then&lt;br /&gt;
		cellStyle = &amp;#039;padding-top:0; padding-bottom:0;&amp;#039; .. cellStyle&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- aa — закрытый раздел с самой большой глубиной&lt;br /&gt;
	local num = tableLength(frame) - 1&lt;br /&gt;
	local depth = (hide and round(frame[&amp;#039;aa&amp;#039;][&amp;#039;depth&amp;#039;]) or round(val[&amp;#039;depth&amp;#039;]))&lt;br /&gt;
	local result = mw.html.create(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;sortbottom&amp;#039; .. (hide and &amp;#039; nomobile&amp;#039; or &amp;#039;&amp;#039;))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, (hide and &amp;#039; line-height:0; visibility:hidden; white-space:nowrap;&amp;#039; or &amp;#039;&amp;#039;))&lt;br /&gt;
	&lt;br /&gt;
	if hide then&lt;br /&gt;
		result:attr(&amp;#039;aria-hidden&amp;#039;, &amp;#039;true&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:wikitext(string.format(&amp;#039;&amp;lt;span aria-hidden=&amp;quot;true&amp;quot;&amp;gt;%s&amp;lt;/span&amp;gt;&amp;#039;, num))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyleHide)&lt;br /&gt;
	&lt;br /&gt;
	-- zh-classical — самое длинное название раздела&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:wikitext(&amp;#039;&amp;lt;span aria-hidden=&amp;quot;true&amp;quot;&amp;gt;zh-classical&amp;lt;/span&amp;gt;&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyleHide)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(&amp;#039;Всего&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
		:css(&amp;#039;text-align&amp;#039;, &amp;#039;left&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;articles&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;pages&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;edits&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(depth))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;users&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;activeusers&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;admins&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	result:tag(&amp;#039;th&amp;#039;)&lt;br /&gt;
		:attr(&amp;#039;scope&amp;#039;, &amp;#039;col&amp;#039;)&lt;br /&gt;
		:wikitext(renderNum(val[&amp;#039;files&amp;#039;]))&lt;br /&gt;
		:attr(&amp;#039;style&amp;#039;, cellStyle)&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода в {{NUMBEROF}}&lt;br /&gt;
function p.Now(frame)&lt;br /&gt;
	local data = loadTabData( &amp;quot;Wikipedia_statistics/hourly.tab&amp;quot; )&lt;br /&gt;
	&lt;br /&gt;
	return getParam(frame.args, data)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода в {{TODAYNUMBEROF}}&lt;br /&gt;
function p.Today(frame)&lt;br /&gt;
	local data = loadTabData( &amp;quot;Wikipedia_statistics/daily.tab&amp;quot; )&lt;br /&gt;
	&lt;br /&gt;
	return getParam(frame.args, data)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Функция для вывода в [[Википедия:Список Википедий]]&lt;br /&gt;
function p.Editions(frame)&lt;br /&gt;
	langs = mw.loadJsonData( &amp;quot;Модуль:NumberOf/lang.json&amp;quot; )&lt;br /&gt;
	local data = loadTabData( &amp;quot;Wikipedia_statistics/daily.tab&amp;quot; )&lt;br /&gt;
	local single = frame.args.single or false&lt;br /&gt;
	local length = tableLength(data)&lt;br /&gt;
	local result = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- Таблицы для сбора разделов по величине&lt;br /&gt;
	local sorted = {&lt;br /&gt;
		[1000000] = {},&lt;br /&gt;
		[100000] = {},&lt;br /&gt;
		[10000] = {},&lt;br /&gt;
		[1000] = {},&lt;br /&gt;
		[0] = {}&lt;br /&gt;
	}&lt;br /&gt;
	local sortedKeys = { 0, 1000, 10000, 100000, 1000000 }&lt;br /&gt;
	if single then&lt;br /&gt;
		sortedKeys = { 0 }&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Заполняем пустыми элементами каждую таблицу&lt;br /&gt;
	for i = #sortedKeys, 1, -1 do&lt;br /&gt;
		local n = sortedKeys[i]&lt;br /&gt;
		for j = 1, length, 1 do&lt;br /&gt;
			table.insert(sorted[n], false)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Сортировка разделов по позиции и величине&lt;br /&gt;
	for key, val in pairs(data) do&lt;br /&gt;
		local curr = data[key]&lt;br /&gt;
		&lt;br /&gt;
		if single and key ~= &amp;#039;total&amp;#039; then&lt;br /&gt;
			sorted[ 0 ][ tonumber( curr[ &amp;#039;pos&amp;#039; ] ) ] = key&lt;br /&gt;
		elseif key ~= &amp;#039;total&amp;#039; then&lt;br /&gt;
			if curr[&amp;#039;articles&amp;#039;] &amp;lt;= 1000 then&lt;br /&gt;
				sorted[ 0 ][ tonumber( curr[ &amp;#039;pos&amp;#039; ] ) ] = key&lt;br /&gt;
			else&lt;br /&gt;
				for i = #sortedKeys, 2, -1 do&lt;br /&gt;
					local n = sortedKeys[ i ]&lt;br /&gt;
					if curr[&amp;#039;articles&amp;#039;] / n &amp;gt; 1 then&lt;br /&gt;
						sorted[ n ][ tonumber( curr[ &amp;#039;pos&amp;#039; ] ) ] = key&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Вывод таблицы&lt;br /&gt;
	for i = #sortedKeys, 1, -1 do&lt;br /&gt;
		if not single and i ~= #sortedKeys then&lt;br /&gt;
			result = result .. &amp;#039;\n&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		local n = sortedKeys[i]&lt;br /&gt;
		if not single then&lt;br /&gt;
			if n == 0 then&lt;br /&gt;
				result = result .. &amp;#039;== Менее 1000 статей ==&amp;#039;&lt;br /&gt;
			else&lt;br /&gt;
				result = result .. string.format(&amp;#039;== Более %s статей ==&amp;#039;, mwlang:formatNum(n))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Автоматический скролл для недостаточно широких мониторов&lt;br /&gt;
		local section = mw.html.create(&amp;#039;div&amp;#039;)&lt;br /&gt;
			:attr(&amp;#039;style&amp;#039;, &amp;#039;overflow-x:auto; overflow-y:hidden;&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		local sectionTable = createHeader()&lt;br /&gt;
&lt;br /&gt;
		-- Вывод рядов таблицы&lt;br /&gt;
		for _, val in ipairs(sorted[ n ]) do&lt;br /&gt;
			if val ~= false then&lt;br /&gt;
				local curr = data[ val ]&lt;br /&gt;
				sectionTable:node(createRow(val, curr, frame))&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		-- Вывод подвала таблицы&lt;br /&gt;
		sectionTable:node(createFooter(data, (n ~= 0)))&lt;br /&gt;
		section:node(sectionTable)&lt;br /&gt;
		&lt;br /&gt;
		result = result .. &amp;#039;\n&amp;#039; .. tostring(section)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wp&gt;ru.wikipedia</name></author>
	</entry>
</feed>