<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.murs-mc.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3A%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%D0%9D%D0%9F</id>
	<title>Модуль:ДанныеНП - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.murs-mc.ru/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3A%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%D0%9D%D0%9F"/>
	<link rel="alternate" type="text/html" href="https://wiki.murs-mc.ru/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%D0%9D%D0%9F&amp;action=history"/>
	<updated>2026-09-10T18:22:25Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://wiki.murs-mc.ru/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%D0%9D%D0%9F&amp;diff=2896&amp;oldid=prev</id>
		<title>Tringoli: Новая страница: «local p = {}  local function extractParam(content, paramName)     if not content then return nil end     -- Поиск параметра на отдельной строке вида |параметр = значение     local val = mw.ustring.match(content, &#039;\n%s*|%s*&#039; .. paramName .. &#039;%s*=%s*([^\n\r]+)&#039;)     if not val then         val = mw.ustring.match(content, &#039;[|]%s*&#039; .. paramName .. &#039;%s*=%s*([^|\n\r}]+)&#039;)     end     if val then         -- Очи...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.murs-mc.ru/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%B0%D0%BD%D0%BD%D1%8B%D0%B5%D0%9D%D0%9F&amp;diff=2896&amp;oldid=prev"/>
		<updated>2026-09-04T06:59:15Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «local p = {}  local function extractParam(content, paramName)     if not content then return nil end     -- Поиск параметра на отдельной строке вида |параметр = значение     local val = mw.ustring.match(content, &amp;#039;\n%s*|%s*&amp;#039; .. paramName .. &amp;#039;%s*=%s*([^\n\r]+)&amp;#039;)     if not val then         val = mw.ustring.match(content, &amp;#039;[|]%s*&amp;#039; .. paramName .. &amp;#039;%s*=%s*([^|\n\r}]+)&amp;#039;)     end     if val then         -- Очи...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local function extractParam(content, paramName)&lt;br /&gt;
    if not content then return nil end&lt;br /&gt;
    -- Поиск параметра на отдельной строке вида |параметр = значение&lt;br /&gt;
    local val = mw.ustring.match(content, &amp;#039;\n%s*|%s*&amp;#039; .. paramName .. &amp;#039;%s*=%s*([^\n\r]+)&amp;#039;)&lt;br /&gt;
    if not val then&lt;br /&gt;
        val = mw.ustring.match(content, &amp;#039;[|]%s*&amp;#039; .. paramName .. &amp;#039;%s*=%s*([^|\n\r}]+)&amp;#039;)&lt;br /&gt;
    end&lt;br /&gt;
    if val then&lt;br /&gt;
        -- Очистка от комментариев и закрывающих скобок/пайпов&lt;br /&gt;
        val = mw.ustring.gsub(val, &amp;#039;&amp;lt;!%-%-.-%-%-&amp;gt;&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
        val = mw.ustring.gsub(val, &amp;#039;%s*[%|}]+%s*$&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
        val = mw.text.trim(val)&lt;br /&gt;
        if val ~= &amp;#039;&amp;#039; and val ~= &amp;#039;-&amp;#039; then&lt;br /&gt;
            return val&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.get(frame)&lt;br /&gt;
    local args = frame.args[1] and frame.args or frame:getParent().args&lt;br /&gt;
    local pageName = args[1] or args[&amp;#039;страница&amp;#039;]&lt;br /&gt;
    local paramName = args[2] or args[&amp;#039;параметр&amp;#039;] or &amp;#039;население&amp;#039;&lt;br /&gt;
    &lt;br /&gt;
    if not pageName or pageName == &amp;#039;&amp;#039; then return &amp;#039;—&amp;#039; end&lt;br /&gt;
    &lt;br /&gt;
    local title = mw.title.new(pageName)&lt;br /&gt;
    if not title or not title.exists then return &amp;#039;—&amp;#039; end&lt;br /&gt;
    &lt;br /&gt;
    local content = title:getContent()&lt;br /&gt;
    if not content then return &amp;#039;—&amp;#039; end&lt;br /&gt;
    &lt;br /&gt;
    local val = extractParam(content, paramName)&lt;br /&gt;
    if not val then return &amp;#039;—&amp;#039; end&lt;br /&gt;
    &lt;br /&gt;
    -- Форматирование чисел для параметра &amp;quot;население&amp;quot;&lt;br /&gt;
    if paramName == &amp;#039;население&amp;#039; then&lt;br /&gt;
        local cleanNum = mw.ustring.gsub(val, &amp;#039;%s+&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
        cleanNum = mw.ustring.gsub(cleanNum, &amp;#039;&amp;amp;nbsp;&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
        local num = tonumber(cleanNum)&lt;br /&gt;
        if num then&lt;br /&gt;
            local formatted = mw.getContentLanguage():formatNum(num)&lt;br /&gt;
            local year = extractParam(content, &amp;#039;год переписи&amp;#039;)&lt;br /&gt;
            if year and (args[&amp;#039;год&amp;#039;] == &amp;#039;да&amp;#039; or args[&amp;#039;с_годом&amp;#039;] == &amp;#039;да&amp;#039;) then&lt;br /&gt;
                return formatted .. &amp;#039; &amp;lt;small style=&amp;quot;color:#57606a;&amp;quot;&amp;gt;(&amp;#039; .. year .. &amp;#039;)&amp;lt;/small&amp;gt;&amp;#039;&lt;br /&gt;
            end&lt;br /&gt;
            return formatted&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    &lt;br /&gt;
    return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Tringoli</name></author>
	</entry>
</feed>