<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fa">
	<id>https://source.islamical.org/index.php?action=history&amp;feed=atom&amp;title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86%3AIndex_data</id>
	<title>پودمان:Index data - تاریخچهٔ نسخه‌ها</title>
	<link rel="self" type="application/atom+xml" href="https://source.islamical.org/index.php?action=history&amp;feed=atom&amp;title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86%3AIndex_data"/>
	<link rel="alternate" type="text/html" href="https://source.islamical.org/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Index_data&amp;action=history"/>
	<updated>2026-11-10T00:10:02Z</updated>
	<subtitle>تاریخچهٔ نسخه‌ها برای این صفحه در ویکی</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://source.islamical.org/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Index_data&amp;diff=221&amp;oldid=prev</id>
		<title>Mojtabakd: ایجاد پودمان</title>
		<link rel="alternate" type="text/html" href="https://source.islamical.org/index.php?title=%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Index_data&amp;diff=221&amp;oldid=prev"/>
		<updated>2026-11-04T11:00:14Z</updated>

		<summary type="html">&lt;p&gt;ایجاد پودمان&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحهٔ تازه&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[Retrieves the data from the index page and enriches it with Wikidata]]--&lt;br /&gt;
&lt;br /&gt;
local indexToWikidata = {&lt;br /&gt;
	-- title are specially managed&lt;br /&gt;
    [&amp;#039;subtitle&amp;#039;] =  &amp;#039;P1680&amp;#039;,&lt;br /&gt;
    [&amp;#039;volume&amp;#039;] = &amp;#039;P478&amp;#039;,&lt;br /&gt;
    [&amp;#039;issue&amp;#039;] = &amp;#039;P433&amp;#039;,&lt;br /&gt;
    [&amp;#039;edition&amp;#039;] = &amp;#039;P393&amp;#039;,   &lt;br /&gt;
    [&amp;#039;author&amp;#039;] = &amp;#039;P50&amp;#039;,&lt;br /&gt;
    [&amp;#039;foreword_author&amp;#039;] = &amp;#039;P2679&amp;#039;,&lt;br /&gt;
    [&amp;#039;afterword_author&amp;#039;] = &amp;#039;P2680&amp;#039;,&lt;br /&gt;
    [&amp;#039;translator&amp;#039;] = &amp;#039;P655&amp;#039;,&lt;br /&gt;
    [&amp;#039;editor&amp;#039;] = &amp;#039;P98&amp;#039;,&lt;br /&gt;
    [&amp;#039;illustrator&amp;#039;] = &amp;#039;P110&amp;#039;,&lt;br /&gt;
    [&amp;#039;lyricist&amp;#039;] = &amp;#039;P676&amp;#039;,&lt;br /&gt;
    [&amp;#039;composer&amp;#039;] = &amp;#039;P86&amp;#039;,&lt;br /&gt;
    [&amp;#039;singer&amp;#039;] = &amp;#039;P175&amp;#039;,&lt;br /&gt;
    [&amp;#039;publisher&amp;#039;] = &amp;#039;P123&amp;#039;,&lt;br /&gt;
    [&amp;#039;printer&amp;#039;] = &amp;#039;P872&amp;#039;,&lt;br /&gt;
    [&amp;#039;address&amp;#039;] = &amp;#039;P291&amp;#039;,&lt;br /&gt;
    [&amp;#039;publishedin&amp;#039;] = &amp;#039;P1433&amp;#039;,&lt;br /&gt;
--    [&amp;#039;year&amp;#039;] = &amp;#039;P577&amp;#039;,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function indexDataWithWikidata(frame)&lt;br /&gt;
	--create a clean table of parameters with blank parameters removed&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k,v in pairs(frame.args) do&lt;br /&gt;
		if v ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local item = nil&lt;br /&gt;
	if args.wikidata_item then&lt;br /&gt;
		item = mw.wikibase.getEntity(args.wikidata_item)&lt;br /&gt;
		if item == nil then&lt;br /&gt;
			mw.addWarning(&amp;#039;L\&amp;#039;identifiant d\&amp;#039;Wikidata entity [[d:&amp;#039; .. args.wikidata_item .. &amp;#039;|&amp;#039; .. args.wikidata_item .. &amp;#039;]] put in the &amp;quot;Wikidata entity&amp;quot; parameter of the Book page: does not seem valid.&amp;#039;) &lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if not item then&lt;br /&gt;
		return {&lt;br /&gt;
			[&amp;#039;args&amp;#039;] = args,&lt;br /&gt;
			[&amp;#039;item&amp;#039;] = nil&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- image depuis Wikidata&lt;br /&gt;
	if not args.image then&lt;br /&gt;
		for _, statement in pairs(item:getBestStatements(&amp;#039;P18&amp;#039;)) do&lt;br /&gt;
			if statement.mainsnak.datavalue.value ~= nil then&lt;br /&gt;
				args.image = statement.mainsnak.datavalue.value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- title depuis Wikidata&lt;br /&gt;
	if not args.title then&lt;br /&gt;
		local value = item:formatStatements(&amp;#039;P1476&amp;#039;)[&amp;#039;value&amp;#039;]&lt;br /&gt;
		if value == &amp;#039;&amp;#039; then&lt;br /&gt;
			value = item:getLabel() or &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if value ~= &amp;#039;&amp;#039; then&lt;br /&gt;
			local siteLink =  item:getSitelink()&lt;br /&gt;
			if siteLink then&lt;br /&gt;
				value = &amp;#039;[[&amp;#039; .. siteLink .. &amp;#039;|&amp;#039; .. value .. &amp;#039;]]&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
			args.title = value .. &amp;#039;&amp;amp;nbsp;[[File:OOjs UI icon edit-ltr.svg|مشاهده و ویرایش در ویکی‌داده|10px|baseline|class=noviewer|link=https://www.wikidata.org/wiki/&amp;#039; .. item.id .. &amp;#039;?uselang=fa#P1476]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
    -- year property&lt;br /&gt;
    if not args.year then&lt;br /&gt;
		for _, statement in pairs(item:getBestStatements(&amp;#039;P577&amp;#039;)) do&lt;br /&gt;
			if statement.mainsnak.datavalue ~= nil then&lt;br /&gt;
				local current_year = statement.mainsnak.datavalue.value.time&lt;br /&gt;
                args[&amp;#039;year&amp;#039;] = mw.ustring.sub(current_year, 2, 5)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
    end&lt;br /&gt;
&lt;br /&gt;
	-- other properties&lt;br /&gt;
	for arg, propertyId in pairs(indexToWikidata) do&lt;br /&gt;
		if not args[arg] then&lt;br /&gt;
			local value = item:formatStatements(propertyId)[&amp;quot;value&amp;quot;]&lt;br /&gt;
			if value ~= &amp;#039;&amp;#039; then&lt;br /&gt;
				args[arg] = value&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return {&lt;br /&gt;
		[&amp;#039;args&amp;#039;] = args,&lt;br /&gt;
		[&amp;#039;item&amp;#039;] = item&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
 &lt;br /&gt;
function p.indexDataWithWikidata(frame)&lt;br /&gt;
    return indexDataWithWikidata(frame)&lt;br /&gt;
end&lt;br /&gt;
 &lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Mojtabakd</name></author>
	</entry>
</feed>