<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://ru.ru-skazki.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWikibase</id>
	<title>Модуль:Wikibase - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://ru.ru-skazki.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AWikibase"/>
	<link rel="alternate" type="text/html" href="http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikibase&amp;action=history"/>
	<updated>2026-04-10T11:01:42Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikibase&amp;diff=5015&amp;oldid=prev</id>
		<title>Импортёр: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikibase&amp;diff=5015&amp;oldid=prev"/>
		<updated>2024-05-01T10:07:26Z</updated>

		<summary type="html">&lt;p&gt;1 версия импортирована&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 13:07, 1 мая 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Импортёр</name></author>
	</entry>
	<entry>
		<id>http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikibase&amp;diff=5014&amp;oldid=prev</id>
		<title>ru&gt;Andras: Новая страница: «-- Модуль для функционала Викиданных local M = {};  local function tabletostr( t, fmt, s, o, c ) -- не для использования на страницах     if type( t ) == &quot;table&quot; then             local f = {};             for k, v in pairs( t ) do                 table.insert( f, string.format( fmt or &#039;%s = %s&#039;, k, tabletostr( v, fmt, s, o, c ) ) )             end;             table.sort( f );             return ( o...»</title>
		<link rel="alternate" type="text/html" href="http://ru.ru-skazki.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikibase&amp;diff=5014&amp;oldid=prev"/>
		<updated>2023-05-19T20:36:12Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «-- Модуль для функционала Викиданных local M = {};  local function tabletostr( t, fmt, s, o, c ) -- не для использования на страницах     if type( t ) == &amp;quot;table&amp;quot; then             local f = {};             for k, v in pairs( t ) do                 table.insert( f, string.format( fmt or &amp;#039;%s = %s&amp;#039;, k, tabletostr( v, fmt, s, o, c ) ) )             end;             table.sort( f );             return ( o...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Модуль для функционала Викиданных&lt;br /&gt;
local M = {};&lt;br /&gt;
&lt;br /&gt;
local function tabletostr( t, fmt, s, o, c ) -- не для использования на страницах&lt;br /&gt;
    if type( t ) == &amp;quot;table&amp;quot; then&lt;br /&gt;
            local f = {};&lt;br /&gt;
            for k, v in pairs( t ) do&lt;br /&gt;
                table.insert( f, string.format( fmt or &amp;#039;%s = %s&amp;#039;, k, tabletostr( v, fmt, s, o, c ) ) )&lt;br /&gt;
            end;&lt;br /&gt;
            table.sort( f );&lt;br /&gt;
            return ( o or &amp;#039;&amp;#039; ) .. table.concat( f, s or &amp;#039;&amp;#039; ) .. ( c or &amp;#039;&amp;#039; )&lt;br /&gt;
        else&lt;br /&gt;
        	return tostring( t )&lt;br /&gt;
        end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.wbview( ref, id ) -- вспом. функция для подписи из Викиданных&lt;br /&gt;
    local l = mw.wikibase.label( id );&lt;br /&gt;
    return l and ( l == ref and l or ref .. &amp;#039;|&amp;#039; .. l .. ( mw.ustring.lower( l ) == mw.ustring.lower( ref ) and &amp;#039;&amp;#039; or &amp;#039;&amp;lt;sup&amp;gt;*&amp;lt;/sup&amp;gt;&amp;#039; ) ) or ref&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.id( frame ) -- Элемент текущей страницы в Викиданных&lt;br /&gt;
    --Если вызван с параметром, достаёт id значения данного свойства, иначе возвращает id страницы&lt;br /&gt;
    --Второй параметр - разделитель, если значений несколько (&amp;quot;; &amp;quot; по умолчанию),&lt;br /&gt;
    -- либо можно указать номер параметром n. Третий параметр - формат для строкового свойства,&lt;br /&gt;
    -- по умолчанию &amp;quot;%s&amp;quot;&lt;br /&gt;
    local function try()&lt;br /&gt;
	    local e = mw.wikibase.getEntity();        &lt;br /&gt;
	    if frame.args[ 1 ] then&lt;br /&gt;
			local function gv( i )&lt;br /&gt;
				local z = e.claims[ frame.args[ 1 ] ][ i ].mainsnak.datavalue;&lt;br /&gt;
				if z.type == &amp;#039;wikibase-entityid&amp;#039; then&lt;br /&gt;
					return z.value.id&lt;br /&gt;
				else&lt;br /&gt;
					return string.format( frame.args[ 3 ] or &amp;#039;%s&amp;#039;, tabletostr( z.value, &amp;quot;%s&amp;quot;, &amp;#039;; &amp;#039;, &amp;#039;{&amp;#039;, &amp;#039;}&amp;#039; ) )&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if frame.args[ &amp;#039;n&amp;#039; ] then&lt;br /&gt;
				return gv( tonumber( frame.args[ &amp;#039;n&amp;#039; ] ) )&lt;br /&gt;
			end&lt;br /&gt;
			local p, h = e.claims[ frame.args[ 1 ] ], {}&lt;br /&gt;
	        for n, v in pairs( p ) do&lt;br /&gt;
				h[ n ] = gv( n )&lt;br /&gt;
			end&lt;br /&gt;
			return table.concat( h, frame.args[ 2 ] or &amp;quot;; &amp;quot; )&lt;br /&gt;
		else &lt;br /&gt;
			return e.id&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для текущей страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.struc( frame ) -- Отладочная функция, будет перенесена в отдельный модуль&lt;br /&gt;
    --Структуру см. [[mw:Extension:WikibaseClient/Lua#Entity table and data structure]]&lt;br /&gt;
    local function try()&lt;br /&gt;
    	local i, e = 1, mw.wikibase.getEntity();&lt;br /&gt;
	    while frame.args[i] do&lt;br /&gt;
	        e = e[ frame.args[ i ] ] or e[ tonumber( frame.args[ i ] ) ];&lt;br /&gt;
	        i = i + 1&lt;br /&gt;
	    end&lt;br /&gt;
		return tabletostr( e, frame.args[ &amp;#039;f&amp;#039; ], frame.args[ &amp;#039;s&amp;#039; ] or &amp;#039;; &amp;#039;, &amp;#039;{&amp;#039;, &amp;#039;}&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для текущей страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.label( frame ) -- Комментарий к элементу Викиданных в 1-м параметре&lt;br /&gt;
    local function try()&lt;br /&gt;
	    local id = frame.args[1];&lt;br /&gt;
	    if not id or id == &amp;#039;&amp;#039; then&lt;br /&gt;
	    	id = mw.wikibase.getEntityIdForCurrentPage(); -- error, если нет элемента&lt;br /&gt;
    	end&lt;br /&gt;
	    return mw.wikibase.label( id );&lt;br /&gt;
    end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для текущей страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.description( frame )&lt;br /&gt;
    local function try()&lt;br /&gt;
	    local entityId = frame.args[1];&lt;br /&gt;
	    if not entityId or entityId == &amp;#039;&amp;#039; then&lt;br /&gt;
	    	entityId = mw.wikibase.getEntityIdForCurrentPage(); -- error, если нет элемента&lt;br /&gt;
    	end&lt;br /&gt;
	    return mw.wikibase.description( entityId )&lt;br /&gt;
    end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для указанной страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.iwiki( frame ) -- Интервики для указанного языка (только с ВД)&lt;br /&gt;
    local function try()&lt;br /&gt;
	    if frame.args[ 1 ] then&lt;br /&gt;
	        return mw.wikibase.getEntity().sitelinks[ frame.args[ 1 ] .. &amp;#039;wiki&amp;#039; ].title&lt;br /&gt;
	    else-- список интервик&lt;br /&gt;
	        local r = {};&lt;br /&gt;
	        for k, v in pairs( mw.wikibase.getEntity().sitelinks ) do&lt;br /&gt;
	            table.insert( r, string.format( frame.args[ &amp;#039;f&amp;#039; ] or &amp;quot;* [[:%s:%s]]\n&amp;quot;, v.language, v.title ) )&lt;br /&gt;
	        end&lt;br /&gt;
	        return table.concat( r )&lt;br /&gt;
	    end&lt;br /&gt;
	end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для текущей страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.iwikiall( frame ) -- Все ссылки, привязанные к элементу на ВД, в т.ч. викигид и склад&lt;br /&gt;
    local function try()&lt;br /&gt;
	    if frame.args[ 1 ] then&lt;br /&gt;
	        return mw.wikibase.getEntity().sitelinks[ frame.args[ 1 ] ].title&lt;br /&gt;
	    else-- список интервик&lt;br /&gt;
	        local r = {};&lt;br /&gt;
	        for k, v in pairs( mw.wikibase.getEntity().sitelinks ) do&lt;br /&gt;
	            table.insert( r, string.format( frame.args[ &amp;#039;f&amp;#039; ] or &amp;quot;* [[:%s:%s]]\n&amp;quot;, v.language, v.title ) )&lt;br /&gt;
	        end&lt;br /&gt;
	        return table.concat(r)&lt;br /&gt;
	    end&lt;br /&gt;
	end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.page( frame ) -- страница Рувики для данного элемента&lt;br /&gt;
    local function try()&lt;br /&gt;
		return mw.wikibase.sitelink( frame.args[ 1 ] )&lt;br /&gt;
	end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для текущей страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function M.wdprops( frame ) -- список всех свойств с ВД в человеко-читаемом виде&lt;br /&gt;
    local function try()&lt;br /&gt;
	    local e, r = mw.wikibase.getEntity(), {};&lt;br /&gt;
	    for p, a in pairs( e.claims ) do&lt;br /&gt;
	        local label = mw.wikibase.label( p ) or string.format( [[d:%s]], p );&lt;br /&gt;
	        local vals = {};&lt;br /&gt;
	        for n, v in pairs( a ) do&lt;br /&gt;
	            local w = v.mainsnak.datavalue;&lt;br /&gt;
	            vals[ n ] = (&lt;br /&gt;
	                w.type == &amp;#039;wikibase-entityid&amp;#039;&lt;br /&gt;
	                and &amp;#039;[[&amp;#039; .. M.wbview(&lt;br /&gt;
	                    mw.wikibase.sitelink( w.value.id )&lt;br /&gt;
	                    or &amp;#039;d:&amp;#039; .. w.value.id,&lt;br /&gt;
	                    w.value.id&lt;br /&gt;
	                ) .. &amp;#039;]]&amp;#039; or M.tabletostr( w.value )&lt;br /&gt;
	            )&lt;br /&gt;
	        end&lt;br /&gt;
	        table.insert( r, string.format(&lt;br /&gt;
	            frame.args[ &amp;#039;f&amp;#039; ] or &amp;#039;\n|-\n|rowspan=%i|%s\n|%s&amp;#039;,&lt;br /&gt;
	            #vals,&lt;br /&gt;
	            label,&lt;br /&gt;
	            table.concat( vals, frame.args[ &amp;#039;s&amp;#039; ] or &amp;#039;\n|-\n|&amp;#039; )&lt;br /&gt;
	        ) )&lt;br /&gt;
	    end--for&lt;br /&gt;
    	return table.concat( r )&lt;br /&gt;
    end&lt;br /&gt;
	local r, result = pcall( try );&lt;br /&gt;
    if r then&lt;br /&gt;
    	return result;&lt;br /&gt;
    else&lt;br /&gt;
    	return &amp;#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;В Викиданных нет записей для текущей страницы&amp;lt;/strong&amp;gt;&amp;#039;;&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return M&lt;/div&gt;</summary>
		<author><name>ru&gt;Andras</name></author>
	</entry>
</feed>