<?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%3APlain_sister</id>
	<title>پودمان:Plain sister - تاریخچهٔ نسخه‌ها</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%3APlain_sister"/>
	<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:Plain_sister&amp;action=history"/>
	<updated>2026-11-10T00:11:12Z</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:Plain_sister&amp;diff=119&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:Plain_sister&amp;diff=119&amp;oldid=prev"/>
		<updated>2026-11-04T00:41:47Z</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;require(&amp;#039;strict&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
local TableTools = require(&amp;#039;Module:TableTools&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
-- table of site data&lt;br /&gt;
local sites = { &lt;br /&gt;
-- interwiki prefix:	parameter,		label and				site id (for Wikidata)&lt;br /&gt;
	[&amp;#039;w&amp;#039;] =				{&amp;#039;wikipedia&amp;#039;,	&amp;#039;مقالهٔ ویکی‌پدیا&amp;#039;,	&amp;#039;fawiki&amp;#039;},&lt;br /&gt;
	[&amp;#039;c&amp;#039;] =				{&amp;#039;commons&amp;#039;,		&amp;#039;نگارخانهٔ ویکی‌انبار&amp;#039;,	&amp;#039;commonswiki&amp;#039;},&lt;br /&gt;
	[&amp;#039;c:Category&amp;#039;] =	{&amp;#039;commonscat&amp;#039;,	&amp;#039;ردهٔ انبار&amp;#039;,			&amp;#039;commonswiki&amp;#039;},&lt;br /&gt;
	[&amp;#039;q&amp;#039;] =				{&amp;#039;wikiquote&amp;#039;,	&amp;#039;گفتاوردها&amp;#039;,			&amp;#039;fawikiquote&amp;#039;},&lt;br /&gt;
	[&amp;#039;n&amp;#039;] =				{&amp;#039;wikinews&amp;#039;,	&amp;#039;اخبار&amp;#039;,				&amp;#039;fawikinews&amp;#039;},&lt;br /&gt;
	[&amp;#039;wikt&amp;#039;] =			{&amp;#039;wiktionary&amp;#039;,	&amp;#039;تعریف واژه&amp;#039;,			&amp;#039;fawiktionary&amp;#039;},&lt;br /&gt;
	[&amp;#039;b&amp;#039;] =				{&amp;#039;wikibooks&amp;#039;,	&amp;#039;کتاب&amp;#039;,					&amp;#039;fawikibooks&amp;#039;},&lt;br /&gt;
	[&amp;#039;v&amp;#039;] =				{&amp;#039;wikiversity&amp;#039;,	&amp;#039;دورهٔ آموزشی&amp;#039;,			&amp;#039;fawikiversity&amp;#039;},&lt;br /&gt;
	[&amp;#039;wikispecies&amp;#039;] =	{&amp;#039;wikispecies&amp;#039;,	&amp;#039;آرایه‌شناسی&amp;#039;,			&amp;#039;specieswiki&amp;#039;},&lt;br /&gt;
	[&amp;#039;voy&amp;#039;] =			{&amp;#039;wikivoyage&amp;#039;,	&amp;#039;راهنمای سفر&amp;#039;,			&amp;#039;fawikivoyage&amp;#039;},&lt;br /&gt;
	[&amp;#039;d&amp;#039;] =				{&amp;#039;wikidata&amp;#039;,	&amp;#039;آیتم ویکی‌داده&amp;#039;,		&amp;#039;wikidatawiki&amp;#039;},&lt;br /&gt;
	[&amp;#039;m&amp;#039;] =				{&amp;#039;meta&amp;#039;,		&amp;#039;فراویکی&amp;#039;,				&amp;#039;metawiki&amp;#039;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- sites is display order (keyed as above)&lt;br /&gt;
local sites_in_order = {&amp;#039;w&amp;#039;, &amp;#039;c&amp;#039;, &amp;#039;c:Category&amp;#039;, &amp;#039;q&amp;#039;, &amp;#039;n&amp;#039;, &amp;#039;wikt&amp;#039;, &amp;#039;b&amp;#039;, &amp;#039;v&amp;#039;, &amp;#039;wikispecies&amp;#039;, &amp;#039;voy&amp;#039;, &amp;#039;d&amp;#039;, &amp;#039;m&amp;#039;}&lt;br /&gt;
&lt;br /&gt;
-- some properties are not wanted from certain transitive links&lt;br /&gt;
-- for example, the P921 (main topic) should not add the Commons category&lt;br /&gt;
-- this is a map of WD property -&amp;gt; WD site ID keys&lt;br /&gt;
local transitiveLinkBlacklist = {&lt;br /&gt;
	P921 = {&amp;#039;commonswiki&amp;#039;, &amp;#039;wikiquote&amp;#039;, &amp;#039;wikinews&amp;#039;, &amp;#039;wiktionary&amp;#039;, &amp;#039;wikiversity&amp;#039;, &amp;#039;wikivoyage&amp;#039;, &amp;#039;meta&amp;#039;},&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Get the item associated with the current page, or specified by the &amp;#039;wikidata&amp;#039;&lt;br /&gt;
-- parameter (of either the module invocation, or the parent template).&lt;br /&gt;
-- @return mw.wikibase.entity&lt;br /&gt;
local function getItem(args)&lt;br /&gt;
	local item = nil&lt;br /&gt;
	-- Firstly, see if the calling tempate or module has a &amp;#039;wikidata&amp;#039; argument.&lt;br /&gt;
	if args.wikidata then&lt;br /&gt;
		item = mw.wikibase.getEntity(args.wikidata)&lt;br /&gt;
	end&lt;br /&gt;
	-- Failing that just use the current page&amp;#039;s item.&lt;br /&gt;
	if item == nil then&lt;br /&gt;
		item = mw.wikibase.getEntity()&lt;br /&gt;
	end&lt;br /&gt;
	return item&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Get the page title of the first sitelink found on the target item for the&lt;br /&gt;
-- given property.&lt;br /&gt;
-- @return string|nil&lt;br /&gt;
local function getFirstSitelink(item, property, sitename)&lt;br /&gt;
	local statements = item:getBestStatements(property)&lt;br /&gt;
	if #statements &amp;gt; 0 then&lt;br /&gt;
		-- Go through each &amp;#039;edition of&amp;#039; statement.&lt;br /&gt;
		for _, statement in pairs(statements) do&lt;br /&gt;
			-- datavalue is missing if set to &amp;#039;unknown value&amp;#039;&lt;br /&gt;
			if statement[&amp;#039;mainsnak&amp;#039;][&amp;#039;datatype&amp;#039;] == &amp;#039;wikibase-item&amp;#039;&lt;br /&gt;
					and statement[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;] then&lt;br /&gt;
				local otherItemId = statement[&amp;#039;mainsnak&amp;#039;][&amp;#039;datavalue&amp;#039;][&amp;#039;value&amp;#039;][&amp;#039;id&amp;#039;]&lt;br /&gt;
				local sitelink = mw.wikibase.getSitelink(otherItemId, sitename)&lt;br /&gt;
				-- If the parent has the required sitelink, return it.&lt;br /&gt;
				if sitelink ~= &amp;#039;&amp;#039; and sitelink ~= nil then&lt;br /&gt;
					-- mw.log(sitename, property, sitelink)&lt;br /&gt;
					return sitelink&lt;br /&gt;
				end&lt;br /&gt;
			end -- if&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function listContains(list, item)&lt;br /&gt;
	for _, v in pairs(list) do&lt;br /&gt;
		if v == item then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function transitivePropertyBlacklisted(prop, wdSitelinkKey)&lt;br /&gt;
	-- reject prop/key pairs that we don&amp;#039;t want&lt;br /&gt;
	local blacklisted = transitiveLinkBlacklist[prop] and&lt;br /&gt;
		listContains(transitiveLinkBlacklist[prop], wdSitelinkKey)&lt;br /&gt;
	return blacklisted&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getLinks(args)&lt;br /&gt;
	local item = getItem(args)&lt;br /&gt;
	&lt;br /&gt;
	local links = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Build all the wikitext links.&lt;br /&gt;
	for prefix, site in pairs(sites) do&lt;br /&gt;
		local val = nil&lt;br /&gt;
		local wd_sitelink_key = site[3]&lt;br /&gt;
		local arg_name = site[1]&lt;br /&gt;
		&lt;br /&gt;
		-- Allow overriding of individual sitelinks.&lt;br /&gt;
		if args[arg_name] then&lt;br /&gt;
			val = args[arg_name]&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		if not val and wd_sitelink_key ~= &amp;#039;&amp;#039; and item then -- fetch it from wikidata&lt;br /&gt;
			val = item:getSitelink(wd_sitelink_key)&lt;br /&gt;
			if wd_sitelink_key == &amp;#039;wikidatawiki&amp;#039; and item.id then&lt;br /&gt;
				val = item.id &lt;br /&gt;
			elseif wd_sitelink_key == &amp;#039;commonswiki&amp;#039; and val then -- we have link to commons &lt;br /&gt;
				local catFlag = (#val&amp;gt;9 and mw.ustring.sub(val, 1, 9) == &amp;#039;Category:&amp;#039;)&lt;br /&gt;
				if (arg_name == &amp;#039;commonscat&amp;#039; and catFlag==false) or (arg_name==&amp;#039;commons&amp;#039; and catFlag==true) then&lt;br /&gt;
					val = nil -- link is to a wrong namespace so let&amp;#039;s nuke it&lt;br /&gt;
				elseif (arg_name ==&amp;#039;commonscat&amp;#039; and catFlag==true) then&lt;br /&gt;
					val = mw.ustring.sub(val,10) -- trim &amp;#039;Category:&amp;#039; from the front&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		-- Commons gallery.&lt;br /&gt;
		if not val and arg_name == &amp;#039;commons&amp;#039; and item then&lt;br /&gt;
			local statements = item:getBestStatements(&amp;#039;P935&amp;#039;) -- get commons gallery page from P935 property&lt;br /&gt;
			if statements[1] and statements[1].mainsnak.datavalue then&lt;br /&gt;
				val = statements[1].mainsnak.datavalue.value&lt;br /&gt;
			end&lt;br /&gt;
		end &lt;br /&gt;
		-- Commons category.&lt;br /&gt;
		if not val and arg_name == &amp;#039;commonscat&amp;#039; and item then&lt;br /&gt;
			local statements = item:getBestStatements(&amp;#039;P373&amp;#039;) -- get commons category page from P373 property&lt;br /&gt;
			if statements[1] and statements[1].mainsnak.datavalue then&lt;br /&gt;
				val = statements[1].mainsnak.datavalue.value &lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- edition or translation of (P629)&lt;br /&gt;
		-- category&amp;#039;s main topic (P301)&lt;br /&gt;
		-- Wikimedia portal&amp;#039;s main topic (P1204)&lt;br /&gt;
		-- main subject (P921)&lt;br /&gt;
		if item then&lt;br /&gt;
			for _,prop in pairs({ &amp;#039;P629&amp;#039;, &amp;#039;P301&amp;#039;, &amp;#039;P1204&amp;#039;, &amp;#039;P921&amp;#039; }) do&lt;br /&gt;
				if not val and not transitivePropertyBlacklisted(prop, wd_sitelink_key) then&lt;br /&gt;
					local workSitelink = getFirstSitelink(item, prop, wd_sitelink_key)&lt;br /&gt;
					if workSitelink ~= nil then&lt;br /&gt;
						val = workSitelink&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if val then&lt;br /&gt;
			links[prefix] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- tidy up redundancies in the WD data&lt;br /&gt;
	&lt;br /&gt;
	-- strip redundant commons category prefix&lt;br /&gt;
	if links[&amp;#039;c:Category&amp;#039;] then&lt;br /&gt;
		links[&amp;#039;c:Category&amp;#039;] = mw.ustring.gsub(links[&amp;#039;c:Category&amp;#039;], &amp;#039;^Category:&amp;#039;, &amp;#039;&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- the gallery is exactly the same as the category, so just keep the category&lt;br /&gt;
	if links[&amp;#039;c&amp;#039;] and links[&amp;#039;c:Category&amp;#039;]&lt;br /&gt;
			and (&amp;#039;Category:&amp;#039; .. links[&amp;#039;c:Category&amp;#039;]) == links[&amp;#039;c&amp;#039;] then&lt;br /&gt;
		links[&amp;#039;c&amp;#039;] = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return links&lt;br /&gt;
	&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
local function construct_sisicon_span(args)&lt;br /&gt;
	return mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
		:addClass(args.class or &amp;#039;sisicon&amp;#039;)&lt;br /&gt;
		:wikitext(&amp;#039;[[File:&amp;#039; .. args.image .. &amp;#039;|frameless|18px|link=&amp;#039; .. args.link .. &amp;#039;|alt=&amp;#039; .. args.alt .. &amp;#039;]]&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Get an HTML list of all links to all sister projects.&lt;br /&gt;
function p._interprojectPart(args)&lt;br /&gt;
	local item = getItem(args)&lt;br /&gt;
	&lt;br /&gt;
	local link_data = p.getLinks(args)&lt;br /&gt;
	local links = {}&lt;br /&gt;
	&lt;br /&gt;
	-- iterate the links in the desired order and construct Wikitext links&lt;br /&gt;
	for k, v in pairs(sites_in_order) do&lt;br /&gt;
		if link_data[v] then&lt;br /&gt;
			local display = sites[v][2]&lt;br /&gt;
			local target = v .. &amp;#039;:&amp;#039; .. link_data[v]&lt;br /&gt;
			table.insert(links, &amp;#039;[[&amp;#039; .. target .. &amp;#039;|&amp;#039; .. display .. &amp;#039;]]&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if #links == 0 then -- links table length is zero&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return mw.html.create(&amp;#039;li&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;sisitem&amp;#039;)&lt;br /&gt;
		:node(construct_sisicon_span({&lt;br /&gt;
			image = &amp;#039;Wikimedia-logo.svg&amp;#039;,&lt;br /&gt;
			link = &amp;#039;Special:sitematrix&amp;#039;,&lt;br /&gt;
			alt = &amp;#039;پروژه‌های خواهر&amp;#039;&lt;br /&gt;
		}))&lt;br /&gt;
		:wikitext(&amp;#039;[[Special:sitematrix|پروژه‌های خواهر]]: &amp;#039; .. table.concat(links, &amp;#039;، &amp;#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.interprojectPart(frame)&lt;br /&gt;
	return p._interprojectPart(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function construct_related_links(sourceArgs, linkArgs, sisiconArgs)&lt;br /&gt;
	local links = {}&lt;br /&gt;
	&lt;br /&gt;
	for k, v in pairs(sourceArgs) do&lt;br /&gt;
		local key = mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(k, &amp;#039; &amp;#039;, &amp;#039;&amp;#039;), &amp;#039;_&amp;#039;, &amp;#039;&amp;#039;), &amp;#039;-&amp;#039;, &amp;#039;&amp;#039;), &amp;#039;s(%d*)$&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
		if mw.ustring.match(key, &amp;#039;^&amp;#039; .. linkArgs.param .. &amp;#039;%d*$&amp;#039;) then&lt;br /&gt;
			local n = mw.ustring.gsub(key, &amp;#039;^&amp;#039; .. linkArgs.param .. &amp;#039;(%d*)$&amp;#039;, &amp;#039;%1&amp;#039;)&lt;br /&gt;
			n = tonumber(n) or 1&lt;br /&gt;
			&lt;br /&gt;
			if not links[n] then&lt;br /&gt;
				local items = mw.text.split(v, &amp;#039;%s*/%s*&amp;#039;, false)&lt;br /&gt;
				local itemLinks = {}&lt;br /&gt;
				for _, item in pairs(items) do&lt;br /&gt;
					if item ~= &amp;#039;&amp;#039; then&lt;br /&gt;
						table.insert(itemLinks, &amp;#039;[[&amp;#039; .. linkArgs.nsPrefix .. item .. &amp;#039;|&amp;#039; .. item .. &amp;#039;]]&amp;#039;)&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				links[n] = table.concat(itemLinks, &amp;#039;، &amp;#039;)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	links = TableTools.compressSparseArray(links)&lt;br /&gt;
	if #links == 0 then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return mw.html.create(&amp;#039;li&amp;#039;)&lt;br /&gt;
		:addClass(&amp;#039;sisitem&amp;#039;)&lt;br /&gt;
		:node(construct_sisicon_span(sisiconArgs))&lt;br /&gt;
		:wikitext(linkArgs.linkPrefix .. table.concat(links, &amp;#039;، &amp;#039;))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._plain_sister(args)&lt;br /&gt;
	local current_frame = mw.getCurrentFrame()&lt;br /&gt;
	local current_title = mw.title.getCurrentTitle()&lt;br /&gt;
	local pagename = current_title.text&lt;br /&gt;
	local item = getItem(args)&lt;br /&gt;
	&lt;br /&gt;
	-- construct list&lt;br /&gt;
	local ul_list = mw.html.create(&amp;#039;ul&amp;#039;):addClass(&amp;#039;plainSister&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if yesno(args.disambiguation) then&lt;br /&gt;
		local dabText = &amp;#039;جستجوی عنوان‌های &amp;#039; .. tostring(mw.html.create(&amp;#039;span&amp;#039;):addClass(&amp;#039;selfreference&amp;#039;):wikitext(&amp;#039;[[Special:Search/intitle:&amp;quot;&amp;#039; .. pagename .. &amp;#039;&amp;quot;|حاوی]]&amp;#039;)) .. &amp;#039; یا &amp;#039;&lt;br /&gt;
		if current_title:inNamespaces(14) then&lt;br /&gt;
			dabText = dabText .. &amp;#039;[[Special:Categories/&amp;#039; .. pagename .. &amp;#039;|آغازشونده]]&amp;#039;&lt;br /&gt;
		elseif current_title:inNamespaces(0) then&lt;br /&gt;
			dabText = dabText .. &amp;#039;[[Special:PrefixIndex/&amp;#039; .. current_title.fullText .. &amp;#039;|آغازشونده]]&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			dabText = dabText .. &amp;#039;[[Special:PrefixIndex/&amp;#039; .. current_title.fullText .. &amp;#039;|آغازشونده (در &amp;#039; .. current_title.nsText .. &amp;#039;‌ها)]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		dabText = dabText .. &amp;#039; با: «&amp;#039; .. pagename .. &amp;#039;»&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		ul_list:tag(&amp;#039;li&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;dabitem&amp;#039;)&lt;br /&gt;
			:node(construct_sisicon_span({&lt;br /&gt;
				image = &amp;#039;Disambiguation.svg&amp;#039;,&lt;br /&gt;
				link = &amp;#039;ویکی‌نبشته:شیوه‌نامه#ابهام‌زدایی، نسخه‌ها و صفحه‌های ترجمه&amp;#039;,&lt;br /&gt;
				alt = &amp;#039;شیوه‌نامهٔ ابهام‌زدایی، نسخه‌ها و صفحه‌های ترجمه&amp;#039;,&lt;br /&gt;
				class = &amp;#039;dabicon&amp;#039;&lt;br /&gt;
			}))&lt;br /&gt;
			:wikitext(dabText)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local show_textinfo = args.textinfotitle or yesno(args.textinfo or args.edition)&lt;br /&gt;
	if show_textinfo then&lt;br /&gt;
		local edition_title&lt;br /&gt;
		if args.textinfotitle then&lt;br /&gt;
			edition_title = mw.title.new(args.textinfotitle)&lt;br /&gt;
		else&lt;br /&gt;
			edition_title = current_title&lt;br /&gt;
		end&lt;br /&gt;
		ul_list:tag(&amp;#039;li&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;sisitem&amp;#039;)&lt;br /&gt;
			:node(construct_sisicon_span({&lt;br /&gt;
				image = &amp;#039;Information icon.svg&amp;#039;,&lt;br /&gt;
				link = &amp;#039;الگو:اطلاعات متن&amp;#039;,&lt;br /&gt;
				alt = &amp;#039;مستندات الگوی اطلاعات متن&amp;#039;,&lt;br /&gt;
			}))&lt;br /&gt;
			:wikitext(&amp;#039;[[&amp;#039; .. edition_title.talkNsText .. &amp;#039;:&amp;#039; .. edition_title.text .. &amp;#039;|اطلاعات پیرامون این نسخه]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local portalLI = construct_related_links(&lt;br /&gt;
		args,&lt;br /&gt;
		{&lt;br /&gt;
			param = &amp;#039;portal&amp;#039;,&lt;br /&gt;
			nsPrefix = &amp;#039;درگاه:&amp;#039;,&lt;br /&gt;
			linkPrefix = &amp;#039;[[درگاه:درگاه‌ها|درگاه‌های مرتبط]]: &amp;#039;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			image = &amp;#039;Wikisource-logo.svg&amp;#039;,&lt;br /&gt;
			link = &amp;#039;درگاه:درگاه‌ها&amp;#039;,&lt;br /&gt;
			alt = &amp;#039;درگاه‌های مرتبط&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	)&lt;br /&gt;
	if portalLI then&lt;br /&gt;
		ul_list:node(portalLI)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local authorLI = construct_related_links(&lt;br /&gt;
		args,&lt;br /&gt;
		{&lt;br /&gt;
			param = &amp;#039;relatedauthor&amp;#039;,&lt;br /&gt;
			nsPrefix = &amp;#039;پدیدآورنده:&amp;#039;,&lt;br /&gt;
			linkPrefix = &amp;#039;[[ویکی‌نبشته:پدیدآورندگان|پدیدآورندگان مرتبط]]: &amp;#039;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			image = &amp;#039;System-users.svg&amp;#039;,&lt;br /&gt;
			link = &amp;#039;ویکی‌نبشته:پدیدآورندگان&amp;#039;,&lt;br /&gt;
			alt = &amp;#039;پدیدآورندگان مرتبط&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	)&lt;br /&gt;
	if authorLI then&lt;br /&gt;
		ul_list:node(authorLI)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local workLI = construct_related_links(&lt;br /&gt;
		args,&lt;br /&gt;
		{&lt;br /&gt;
			param = &amp;#039;relatedwork&amp;#039;,&lt;br /&gt;
			nsPrefix = &amp;#039;&amp;#039;,&lt;br /&gt;
			linkPrefix = &amp;#039;[[ویکی‌نبشته:آثار|آثار مرتبط]]: &amp;#039;&lt;br /&gt;
		},&lt;br /&gt;
		{&lt;br /&gt;
			image = &amp;#039;Nuvola apps bookcase.svg&amp;#039;,&lt;br /&gt;
			link = &amp;#039;ویکی‌نبشته:آثار&amp;#039;,&lt;br /&gt;
			alt = &amp;#039;آثار مرتبط&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	)&lt;br /&gt;
	if workLI then&lt;br /&gt;
		ul_list:node(workLI)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local sisters = p._interprojectPart(args)&lt;br /&gt;
	if sisters then&lt;br /&gt;
		ul_list:node(sisters)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if yesno(args.wikidataswitch) and not item then&lt;br /&gt;
		ul_list:tag(&amp;#039;li&amp;#039;)&lt;br /&gt;
			:addClass(&amp;#039;sisitem&amp;#039;)&lt;br /&gt;
			:node(construct_sisicon_span({&lt;br /&gt;
				image = &amp;#039;Wikidata-logo.svg&amp;#039;,&lt;br /&gt;
				link = &amp;#039;ویکی‌نبشته:ویکی‌داده&amp;#039;,&lt;br /&gt;
				alt = &amp;#039;ویکی‌داده&amp;#039;,&lt;br /&gt;
			}))&lt;br /&gt;
			:wikitext(&amp;#039;[[d:Special:Search/&amp;#039; .. pagename .. &amp;#039;|جستجوی ویکی‌داده]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not yesno(args.disambiguation) and not show_textinfo and not portalLI and not authorLI and not workLI and not sisters and not yesno(args.wikidataswitch) then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return current_frame:extensionTag(&amp;#039;templatestyles&amp;#039;, &amp;#039;&amp;#039;, {src = &amp;#039;Plain sister/styles.css&amp;#039;}) .. tostring(ul_list)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.plain_sister(frame)&lt;br /&gt;
	return p._plain_sister(getArgs(frame))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&lt;br /&gt;
-- Debug console testing:&lt;br /&gt;
-- =p.interprojectPart(mw.getCurrentFrame():newChild{title=&amp;#039;nop&amp;#039;,args={wikidata=&amp;#039;Q23308118&amp;#039;}})&lt;/div&gt;</summary>
		<author><name>Mojtabakd</name></author>
	</entry>
</feed>