<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?action=history&amp;feed=atom&amp;title=Modu%C5%82%3AWikidane%2Fformat</id>
	<title>Moduł:Wikidane/format - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?action=history&amp;feed=atom&amp;title=Modu%C5%82%3AWikidane%2Fformat"/>
	<link rel="alternate" type="text/html" href="https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?title=Modu%C5%82:Wikidane/format&amp;action=history"/>
	<updated>2026-07-10T13:23:48Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?title=Modu%C5%82:Wikidane/format&amp;diff=3427&amp;oldid=prev</id>
		<title>Żółty Kapłan: 1 wersja</title>
		<link rel="alternate" type="text/html" href="https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?title=Modu%C5%82:Wikidane/format&amp;diff=3427&amp;oldid=prev"/>
		<updated>2025-12-11T20:58:19Z</updated>

		<summary type="html">&lt;p&gt;1 wersja&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Wersja z 22:58, 11 gru 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&quot; class=&quot;diff-notice&quot; lang=&quot;pl&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Brak różnic)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;!-- diff cache key wiki_droga:diff:1.41:old-3426:rev-3427 --&gt;
&lt;/table&gt;</summary>
		<author><name>Żółty Kapłan</name></author>
	</entry>
	<entry>
		<id>https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?title=Modu%C5%82:Wikidane/format&amp;diff=3426&amp;oldid=prev</id>
		<title>wpl&gt;Paweł Ziemian: + wskaźnik jakości</title>
		<link rel="alternate" type="text/html" href="https://wiki.idzie.xn--t-wha.xn--drog-eta.pl/index.php?title=Modu%C5%82:Wikidane/format&amp;diff=3426&amp;oldid=prev"/>
		<updated>2020-05-24T21:48:54Z</updated>

		<summary type="html">&lt;p&gt;+ wskaźnik jakości&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local moduleData = mw.loadData(&amp;quot;Module:Wikidane/data&amp;quot;)&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
local function loadArgs(frame, custom)&lt;br /&gt;
&lt;br /&gt;
	local args = getArgs(frame, {&lt;br /&gt;
		trim = false,&lt;br /&gt;
		removeBlanks = false,&lt;br /&gt;
		parentFirst = true,&lt;br /&gt;
		readOnly = true,&lt;br /&gt;
		noOverwrite = true,&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	local function loadArg(id)&lt;br /&gt;
		local result = args[id]&lt;br /&gt;
		return (result and (#result ~= 0)) and result or nil&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	local parseBool = function(arg)&lt;br /&gt;
		if type(arg) == &amp;quot;boolean&amp;quot; then&lt;br /&gt;
			return arg&lt;br /&gt;
		elseif arg == moduleData.boolYes then&lt;br /&gt;
			return true&lt;br /&gt;
		elseif arg == moduleData.boolNo then&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	local parseSeparator = function(arg)&lt;br /&gt;
		if arg == moduleData.separatorAnd then&lt;br /&gt;
			return moduleData.defaultSeparator, moduleData.defaultLastAndSeparator&lt;br /&gt;
		elseif arg == moduleData.separatorOr then&lt;br /&gt;
			return moduleData.defaultSeparator, moduleData.defaultLastOrSeparator&lt;br /&gt;
		elseif arg == moduleData.separatorBullet then&lt;br /&gt;
			return &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;quot;&lt;br /&gt;
		elseif arg == moduleData.separatorOrdered then&lt;br /&gt;
			return &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&amp;quot;&lt;br /&gt;
		elseif arg == moduleData.separatorOptionalBullet then&lt;br /&gt;
			return &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&amp;quot;, true&lt;br /&gt;
		elseif arg == moduleData.separatorOptionalOrdered then&lt;br /&gt;
			return &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;ol&amp;gt;&amp;lt;li&amp;gt;&amp;quot;, &amp;quot;&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&amp;quot;, true&lt;br /&gt;
		elseif arg == moduleData.separatorOr then&lt;br /&gt;
			return moduleData.defaultSeparator, moduleData.defaultLastOrSeparator&lt;br /&gt;
		elseif arg ~= nil then -- custom&lt;br /&gt;
			return arg, arg&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function parseQualifiers(arg)&lt;br /&gt;
		if type(arg) == &amp;quot;table&amp;quot; then&lt;br /&gt;
			local result = {}&lt;br /&gt;
			for i, v in ipairs(arg) do&lt;br /&gt;
				local p = string.match(v, &amp;quot;^[pP](%d+)$&amp;quot;)&lt;br /&gt;
				if p then&lt;br /&gt;
					table.insert(result, &amp;quot;P&amp;quot;..p)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			&lt;br /&gt;
			if #result &amp;gt; 0 then&lt;br /&gt;
				return result&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local link = parseBool(loadArg(moduleData.argLink))&lt;br /&gt;
	local sep, lastSep, before, after, optional = parseSeparator(loadArg(moduleData.argSeparator))&lt;br /&gt;
	local qualifiers = parseQualifiers(loadArg(&amp;quot;kwalifikatory&amp;quot;))&lt;br /&gt;
 &lt;br /&gt;
	local result = {&lt;br /&gt;
		linkCoordinates = link,&lt;br /&gt;
		linkDate = link,&lt;br /&gt;
		linkItem = link,&lt;br /&gt;
		separator = sep,&lt;br /&gt;
		lastSeparator = lastSep,&lt;br /&gt;
		separatorBefore = before,&lt;br /&gt;
		separatorAfter = after,&lt;br /&gt;
		separatorOptional = optional,&lt;br /&gt;
		novalue = loadArg(moduleData.argNoValue),&lt;br /&gt;
		format = loadArg(moduleData.argFormat),&lt;br /&gt;
		qualifiers = qualifiers,&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	if custom then&lt;br /&gt;
		for _, v in ipairs(custom) do&lt;br /&gt;
			if result[v] == nil then&lt;br /&gt;
				result[v] = loadArg(v)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
 &lt;br /&gt;
		if custom.default then&lt;br /&gt;
			for k, v in pairs(custom.default) do&lt;br /&gt;
				if result[k] == nil then&lt;br /&gt;
					result[k] = v&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
 &lt;br /&gt;
	-- global defaults&lt;br /&gt;
	result.separator = result.separator or moduleData.defaultSeparator&lt;br /&gt;
	result.lastSeparator = result.lastSeparator or moduleData.defaultSeparator&lt;br /&gt;
	result.linkCoordinates = (result.linkCoordinates == nil) and moduleData.defaultLinkCoordinates or result.linkCoordinates&lt;br /&gt;
	result.linkDate = (result.linkDate == nil) and moduleData.defaultLinkDate or result.linkDate&lt;br /&gt;
	result.linkItem = (result.linkItem == nil) and moduleData.defaultLinkItem or result.linkItem&lt;br /&gt;
	result.separatorBefore = result.separatorBefore or &amp;quot;&amp;quot;&lt;br /&gt;
	result.separatorAfter = result.separatorAfter or &amp;quot;&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
	return result&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function listToText(items, options)&lt;br /&gt;
	if (#items == 0) then&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if (#items == 1) and options.separatorOptional then&lt;br /&gt;
		return items[1]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return options.separatorBefore..mw.text.listToText(items, options.separator, options.lastSeparator)..options.separatorAfter&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local runners = {&lt;br /&gt;
 &lt;br /&gt;
	[&amp;quot;snak&amp;quot;] = function (processor, properties, options)&lt;br /&gt;
		local result = {}&lt;br /&gt;
		local formatQualifiers = require(&amp;quot;Moduł:Wikidane/format/qualifiers&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
		for i, p in ipairs(properties) do&lt;br /&gt;
			if (p.type == &amp;quot;statement&amp;quot;) and p.mainsnak then&lt;br /&gt;
				local s = processor.format(p.mainsnak, options)&lt;br /&gt;
				if s and (#s &amp;gt; 0) then&lt;br /&gt;
					table.insert(result, formatQualifiers.QUALITY(p)..s)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
 &lt;br /&gt;
		return listToText(result, options)&lt;br /&gt;
	end,&lt;br /&gt;
 &lt;br /&gt;
	[&amp;quot;prop&amp;quot;] = function (processor, properties, options)&lt;br /&gt;
		local result = {}&lt;br /&gt;
 &lt;br /&gt;
		for i, p in ipairs(properties) do&lt;br /&gt;
			if (p.type == &amp;quot;statement&amp;quot;) and p.mainsnak then&lt;br /&gt;
				local s = processor.format(p, options)&lt;br /&gt;
				if s and (#s &amp;gt; 0) then&lt;br /&gt;
					table.insert(result, s)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
 &lt;br /&gt;
		return listToText(result, options)&lt;br /&gt;
	end,&lt;br /&gt;
 &lt;br /&gt;
	[&amp;quot;props&amp;quot;] = function (processor, properties, options)&lt;br /&gt;
		return processor.format(properties, options)&lt;br /&gt;
	end,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	&lt;br /&gt;
run = function(frame, pid, properties)&lt;br /&gt;
&lt;br /&gt;
	local automatic = function()&lt;br /&gt;
		local pinfo = mw.wikibase.getEntity(pid)&lt;br /&gt;
		return moduleData.processor[2][pinfo and pinfo.datatype or false]&lt;br /&gt;
			or moduleData.processor[1]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local processor = getArgs(frame).procesor&lt;br /&gt;
		or moduleData.processor[pid]&lt;br /&gt;
		or &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	local module = require(#processor &amp;gt; 0 and processor or automatic())&lt;br /&gt;
	local options&lt;br /&gt;
	if module.options == nil then&lt;br /&gt;
		options = loadArgs(frame)&lt;br /&gt;
	elseif type(module.options) == &amp;quot;table&amp;quot; then&lt;br /&gt;
		options = loadArgs(frame, module.options)&lt;br /&gt;
	elseif type(module.options) == &amp;quot;function&amp;quot; then&lt;br /&gt;
		options = module.options(frame)&lt;br /&gt;
	else&lt;br /&gt;
		options = {}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if (#processor == 0) and (module.scope == &amp;quot;snak&amp;quot;) then&lt;br /&gt;
		module = require(moduleData.processor[1])&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local runner = runners[module.scope]&lt;br /&gt;
	if runner then&lt;br /&gt;
		return runner(module, properties, options)&lt;br /&gt;
	end&lt;br /&gt;
end,&lt;br /&gt;
&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>wpl&gt;Paweł Ziemian</name></author>
	</entry>
</feed>