<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ATemplate_call_code</id>
	<title>Модуль:Template call code - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://bukvica.org/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ATemplate_call_code"/>
	<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;action=history"/>
	<updated>2026-04-28T13:52:19Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=123176&amp;oldid=prev</id>
		<title>Karaby: 1 версия импортирована</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=123176&amp;oldid=prev"/>
		<updated>2021-12-24T09:30:48Z</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;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;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 09:30, 24 декабря 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;4&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;!-- diff cache key wiki:diff:1.41:old-123175:rev-123176 --&gt;
&lt;/table&gt;</summary>
		<author><name>Karaby</name></author>
	</entry>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=123175&amp;oldid=prev</id>
		<title>bukvica&gt;Jack who built the house: -избыточный код</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=123175&amp;oldid=prev"/>
		<updated>2021-10-26T19:03:06Z</updated>

		<summary type="html">&lt;p&gt;-избыточный код&lt;/p&gt;
&lt;a href=&quot;https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;amp;diff=123175&amp;amp;oldid=72682&quot;&gt;Внесённые изменения&lt;/a&gt;</summary>
		<author><name>bukvica&gt;Jack who built the house</name></author>
	</entry>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=72682&amp;oldid=prev</id>
		<title>Karaby: Karaby переименовал страницу Модуль:Template call code&amp;action=edit в Модуль:Template call code без оставления перенаправления</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=72682&amp;oldid=prev"/>
		<updated>2021-06-21T08:17:25Z</updated>

		<summary type="html">&lt;p&gt;Karaby переименовал страницу &lt;a href=&quot;/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code%26action%3Dedit&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Модуль:Template call code&amp;amp;action=edit (страница не существует)&quot;&gt;Модуль:Template call code&amp;amp;action=edit&lt;/a&gt; в &lt;a href=&quot;/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&quot; title=&quot;Модуль:Template call code&quot;&gt;Модуль:Template call code&lt;/a&gt; без оставления перенаправления&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;Версия от 08:17, 21 июня 2021&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>Karaby</name></author>
	</entry>
	<entry>
		<id>https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=72681&amp;oldid=prev</id>
		<title>Karaby: Новая страница: «local getArgs = require(&#039;Module:Arguments&#039;).getArgs local ru = mw.language.new(&#039;ru&#039;)  local p = {}  -- Используется для того, чтобы мож…»</title>
		<link rel="alternate" type="text/html" href="https://bukvica.org/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Template_call_code&amp;diff=72681&amp;oldid=prev"/>
		<updated>2021-06-21T08:17:00Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs local ru = mw.language.new(&amp;#039;ru&amp;#039;)  local p = {}  -- Используется для того, чтобы мож…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
local ru = mw.language.new(&amp;#039;ru&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Используется для того, чтобы можно было удалять элементы из таблицы&lt;br /&gt;
local function copy(other)&lt;br /&gt;
	local res = {}&lt;br /&gt;
	for k, v in pairs(other) do&lt;br /&gt;
		res[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = copy(getArgs(frame, {&lt;br /&gt;
			trim = false,&lt;br /&gt;
			removeBlanks = false&lt;br /&gt;
		}))&lt;br /&gt;
		return p[funcName](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.withoutParams = makeInvokeFunc(&amp;#039;_withoutParams&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p._withoutParams(args)&lt;br /&gt;
	local name = args[1]&lt;br /&gt;
	table.remove(args, 1)&lt;br /&gt;
	&lt;br /&gt;
	-- Вещи типа «=» в первом параметре&lt;br /&gt;
	if not name then&lt;br /&gt;
		for k, v in pairs(args) do&lt;br /&gt;
			if not k:find(&amp;#039;^_&amp;#039;) then&lt;br /&gt;
				name = k .. &amp;#039;=&amp;#039; .. v&lt;br /&gt;
				args[k] = nil&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local flags = {}&lt;br /&gt;
	for i, v in ipairs(args) do&lt;br /&gt;
		if v == &amp;#039;nl&amp;#039; or v == &amp;#039;nolink&amp;#039; then&lt;br /&gt;
			flags.noLink = true&lt;br /&gt;
		elseif v == &amp;#039;s&amp;#039; then&lt;br /&gt;
			flags.subst = true&lt;br /&gt;
		elseif v == &amp;#039;п&amp;#039; then&lt;br /&gt;
			flags.podst = true&lt;br /&gt;
		elseif v == &amp;#039;g&amp;#039; then&lt;br /&gt;
			flags.global = true&lt;br /&gt;
		elseif v == &amp;#039;nav&amp;#039; then&lt;br /&gt;
			flags.nav = true&lt;br /&gt;
		elseif v == &amp;#039;noredir&amp;#039; then&lt;br /&gt;
			flags.noRedirect = true&lt;br /&gt;
		elseif v == &amp;#039;u&amp;#039; then&lt;br /&gt;
			flags.ucFirst = true&lt;br /&gt;
		elseif v == &amp;#039;b&amp;#039; then&lt;br /&gt;
			flags.black = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if name then&lt;br /&gt;
		local trimmedName = mw.text.trim(name)&lt;br /&gt;
		if ru:lc(mw.ustring.sub(trimmedName, 1, 6)) == &amp;#039;subst:&amp;#039; then&lt;br /&gt;
			flags.subst = true&lt;br /&gt;
			name = mw.ustring.sub(trimmedName, 7)&lt;br /&gt;
		end&lt;br /&gt;
		if ru:lc(mw.ustring.sub(trimmedName, 1, 6)) == &amp;#039;подст:&amp;#039; then&lt;br /&gt;
			flags.podst = true&lt;br /&gt;
			name = mw.ustring.sub(trimmedName, 7)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if args.text == &amp;#039;&amp;#039; then&lt;br /&gt;
		args.text = nil&lt;br /&gt;
	end&lt;br /&gt;
	if args.comment == &amp;#039;&amp;#039; then&lt;br /&gt;
		args.comment = nil&lt;br /&gt;
	end&lt;br /&gt;
	if args.lang == &amp;#039;&amp;#039; then&lt;br /&gt;
		args.lang = nil&lt;br /&gt;
	end&lt;br /&gt;
	if args.sister == &amp;#039;&amp;#039; then&lt;br /&gt;
		args.sister = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	-- При опущенном первом параметре берём имя шаблона из названия страницы&lt;br /&gt;
	if name == &amp;#039;&amp;#039; or not name then&lt;br /&gt;
		local currentTitleRoot = currentTitle.rootText&lt;br /&gt;
		if not flags.ucFirst and&lt;br /&gt;
			((ru:uc(currentTitleRoot) ~= currentTitleRoot and&lt;br /&gt;
				-- Книга:Литературное наследство, TranslateDate&lt;br /&gt;
				not mw.ustring.match(currentTitleRoot, &amp;#039;^[А-Яа-яA-Za-z]+:?[А-ЯA-Z]&amp;#039;)&lt;br /&gt;
			) or&lt;br /&gt;
				#currentTitleRoot == 1&lt;br /&gt;
			)&lt;br /&gt;
		then&lt;br /&gt;
			name = ru:lcfirst(currentTitleRoot)&lt;br /&gt;
		else&lt;br /&gt;
			name = currentTitleRoot&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local global = flags.global or mw.ustring.sub(name, 1, 1) == &amp;#039;:&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	-- Начинаем собирать код&lt;br /&gt;
	local linkBody, titleObject, linkBegin, linkDivider, linkEnd&lt;br /&gt;
	&lt;br /&gt;
	local prefixes = {}&lt;br /&gt;
	if args.lang then&lt;br /&gt;
		table.insert(prefixes, args.lang)&lt;br /&gt;
	end&lt;br /&gt;
	if args.sister then&lt;br /&gt;
		table.insert(prefixes, args.sister)&lt;br /&gt;
	end&lt;br /&gt;
	linkBody = table.concat(prefixes, &amp;#039;:&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if #linkBody ~= 0 then&lt;br /&gt;
		linkBody = &amp;#039;:&amp;#039; .. linkBody&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.sub(name, 1, 1) ~= &amp;#039;:&amp;#039; then&lt;br /&gt;
		linkBody = linkBody .. &amp;#039;:&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not global then&lt;br /&gt;
		linkBody = linkBody .. &amp;#039;Template:&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	linkBody = linkBody .. name&lt;br /&gt;
	titleObject = mw.title.new(linkBody)&lt;br /&gt;
	&lt;br /&gt;
	local noLink = flags.noLink or currentTitle == titleObject&lt;br /&gt;
	local takeBracketsInLink = not noLink and&lt;br /&gt;
		mw.ustring.len(name) == 1 and&lt;br /&gt;
		not flags.black and&lt;br /&gt;
		not flags.subst and&lt;br /&gt;
		not flags.podst&lt;br /&gt;
	&lt;br /&gt;
	if not noLink then&lt;br /&gt;
		if not flags.noRedirect or (&lt;br /&gt;
			flags.noRedirect and&lt;br /&gt;
			not args.lang and&lt;br /&gt;
			not args.sister and&lt;br /&gt;
			not titleObject.exists&lt;br /&gt;
		) then&lt;br /&gt;
			linkBegin = &amp;#039;[[&amp;#039;&lt;br /&gt;
			linkEnd = &amp;#039;]]&amp;#039;&lt;br /&gt;
			linkDivider = &amp;#039;|&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			linkBegin = &amp;#039;[&amp;#039;&lt;br /&gt;
			linkEnd = &amp;#039;]&amp;#039;&lt;br /&gt;
			linkDivider = &amp;#039; &amp;#039;&lt;br /&gt;
			linkBody = titleObject:fullUrl(&amp;#039;redirect=no&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local text = &amp;#039;&amp;#039;&lt;br /&gt;
	if flags.nav and currentTitle == titleObject then&lt;br /&gt;
		text = text .. &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not flags.black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;span class=&amp;quot;wp-templatelink&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	text = text .. &amp;#039;{&amp;#039;&lt;br /&gt;
	if not takeBracketsInLink then&lt;br /&gt;
		text = text .. &amp;#039;{&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if flags.subst then&lt;br /&gt;
		text = text .. &amp;#039;subst:&amp;#039;&lt;br /&gt;
	elseif flags.podst then&lt;br /&gt;
		text = text .. &amp;#039;подст:&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not flags.black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = text .. &amp;#039;&amp;lt;span data-navboxnavigation-link=&amp;quot;0&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	local commentedLabel&lt;br /&gt;
	if args.comment then&lt;br /&gt;
		-- https://phabricator.wikimedia.org/T200704&lt;br /&gt;
		-- commentedLabel = mw.getCurrentFrame():expandTemplate({title = &amp;#039;comment&amp;#039;, args = {(args.text or name), args.comment}})&lt;br /&gt;
		commentedLabel = &amp;#039;&amp;lt;span class=&amp;quot;commentedText&amp;quot; title=&amp;quot;&amp;#039; .. args.comment .. &amp;#039;&amp;quot; style=&amp;quot;border-bottom: 1px dotted; cursor: help;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
			(args.text or name) ..&lt;br /&gt;
			&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local label = (commentedLabel or args.text or name)&lt;br /&gt;
	if not noLink then&lt;br /&gt;
		if flags.noRedirect then&lt;br /&gt;
			text = text .. &amp;#039;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. linkBegin .. linkBody .. linkDivider&lt;br /&gt;
		if not noLink and takeBracketsInLink then&lt;br /&gt;
			text = text .. &amp;#039;&amp;lt;span class=&amp;quot;wp-templatelink&amp;quot;&amp;gt;{&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. label&lt;br /&gt;
		if not noLink and takeBracketsInLink then&lt;br /&gt;
			text = text .. &amp;#039;&amp;lt;span class=&amp;quot;wp-templatelink&amp;quot;&amp;gt;}&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. linkEnd&lt;br /&gt;
		if flags.noRedirect then&lt;br /&gt;
			text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. label&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if not flags.black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;span class=&amp;quot;wp-templatelink&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	text = text .. &amp;#039;}&amp;#039;&lt;br /&gt;
	if not takeBracketsInLink then&lt;br /&gt;
		text = text .. &amp;#039;}&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not flags.black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if flags.nav and currentTitle == titleObject then&lt;br /&gt;
		text = text .. &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function addParams(args, params)&lt;br /&gt;
	local text, equals_pos, param, value = &amp;#039;&amp;#039;, 0, &amp;#039;&amp;#039;, &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	function addPipe()&lt;br /&gt;
		if params.spaced then&lt;br /&gt;
			text = text .. &amp;#039; &amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;span&amp;#039;&lt;br /&gt;
		if not params.black then&lt;br /&gt;
			text = text .. &amp;#039; class=&amp;quot;wp-templatelink&amp;quot;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if not params.spaced then&lt;br /&gt;
			text = text .. &amp;#039; style=&amp;quot;margin:0 2px;&amp;quot;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. &amp;#039;&amp;gt;&amp;amp;#124;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		if type(k) == &amp;#039;number&amp;#039; then  -- Неименованные параметры&lt;br /&gt;
			equals_pos = v:find(&amp;#039;=&amp;#039;)&lt;br /&gt;
			if equals_pos and v:find(&amp;#039;{{=}}&amp;#039;) == equals_pos - 2 then&lt;br /&gt;
				equals_pos = nil&lt;br /&gt;
			end&lt;br /&gt;
			if equals_pos then  -- Содержащие «=» преобразуем в именованные&lt;br /&gt;
				param = v:sub(1, equals_pos - 1)&lt;br /&gt;
				value = v:sub(equals_pos + 1)&lt;br /&gt;
				addPipe()&lt;br /&gt;
				text = text .. param .. &amp;#039;=&amp;#039; .. value&lt;br /&gt;
			else  -- Истинно неименованные&lt;br /&gt;
				addPipe()&lt;br /&gt;
				text = text .. v&lt;br /&gt;
			end&lt;br /&gt;
		elseif not k:find(&amp;#039;^_&amp;#039;) then  -- Именованные параметры, исключая модификаторы внешнего вида&lt;br /&gt;
			addPipe()&lt;br /&gt;
			text = text .. k .. &amp;#039;=&amp;#039; .. v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.withParams = makeInvokeFunc(&amp;#039;_withParams&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p._withParams(args)&lt;br /&gt;
	local name = args[1]&lt;br /&gt;
	table.remove(args, 1)&lt;br /&gt;
	&lt;br /&gt;
	-- Вещи типа «=» в первом параметре&lt;br /&gt;
	if not name then&lt;br /&gt;
		for k, v in pairs(args) do&lt;br /&gt;
			if not k:find(&amp;#039;^_&amp;#039;) then&lt;br /&gt;
				name = k .. &amp;#039;=&amp;#039; .. v&lt;br /&gt;
				args[k] = nil&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local optpText&lt;br /&gt;
	if name then&lt;br /&gt;
		local spanOffset = mw.ustring.find(name, &amp;#039;&amp;lt;span&amp;#039;)  -- След использования шаблона optp&lt;br /&gt;
		if spanOffset then&lt;br /&gt;
			optpText = mw.ustring.sub(name, spanOffset)&lt;br /&gt;
			name = mw.ustring.sub(name, 1, spanOffset - 1)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	local nobr = yesno(args._nobr, false)&lt;br /&gt;
	local tag = args._tag or &amp;#039;span&amp;#039;&lt;br /&gt;
	local style = args._style&lt;br /&gt;
	local spaced = yesno(args._spaced, false)&lt;br /&gt;
	local subst = yesno(args._s, false)&lt;br /&gt;
	local podst = yesno(args[&amp;#039;_п&amp;#039;], false)&lt;br /&gt;
	local global = yesno(args._g, false) or name and mw.ustring.sub(name, 1, 1) == &amp;#039;:&amp;#039;&lt;br /&gt;
	local lang = args._lang&lt;br /&gt;
	local sister = args._sister&lt;br /&gt;
	local nav = yesno(args._nav, false)&lt;br /&gt;
	local ucFirst = yesno(args._u, false)&lt;br /&gt;
	local black = yesno(args._b, false) or tag ~= &amp;#039;span&amp;#039;&lt;br /&gt;
	local noLink = yesno(args._nolink or args._nl, false) or not yesno(args._link, false)&lt;br /&gt;
	local textInPlaceOfName = args._text&lt;br /&gt;
	local comment = args._comment&lt;br /&gt;
	local noRedirect = yesno(args._noredir, false)&lt;br /&gt;
	local prefix = args._prefix&lt;br /&gt;
	local postfix = args._postfix&lt;br /&gt;
	&lt;br /&gt;
	if textInPlaceOfName == &amp;#039;&amp;#039; then&lt;br /&gt;
		textInPlaceOfName = nil&lt;br /&gt;
	end&lt;br /&gt;
	if comment == &amp;#039;&amp;#039; then&lt;br /&gt;
		comment = nil&lt;br /&gt;
	end&lt;br /&gt;
	if lang == &amp;#039;&amp;#039; then&lt;br /&gt;
		lang = nil&lt;br /&gt;
	end&lt;br /&gt;
	if sister == &amp;#039;&amp;#039; then&lt;br /&gt;
		sister = nil&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if name then&lt;br /&gt;
		local trimmedName = mw.text.trim(name)&lt;br /&gt;
		if ru:lc(mw.ustring.sub(trimmedName, 1, 6)) == &amp;#039;subst:&amp;#039; then&lt;br /&gt;
			subst = true&lt;br /&gt;
			name = mw.ustring.sub(trimmedName, 7)&lt;br /&gt;
		end&lt;br /&gt;
		if ru:lc(mw.ustring.sub(trimmedName, 1, 6)) == &amp;#039;подст:&amp;#039; then&lt;br /&gt;
			podst = true&lt;br /&gt;
			name = mw.ustring.sub(trimmedName, 7)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	-- При опущенном первом параметре берём имя шаблона из названия страницы&lt;br /&gt;
	if name == &amp;#039;&amp;#039; or not name then&lt;br /&gt;
		local currentTitleRoot = currentTitle.rootText&lt;br /&gt;
		if not ucFirst and&lt;br /&gt;
			((ru:uc(currentTitleRoot) ~= currentTitleRoot and&lt;br /&gt;
				-- Книга:Литературное наследство, TranslateDate&lt;br /&gt;
				not mw.ustring.match(currentTitleRoot, &amp;#039;^[А-Яа-яA-Za-z]+:?[А-ЯA-Z]&amp;#039;)&lt;br /&gt;
			) or&lt;br /&gt;
				#currentTitleRoot == 1&lt;br /&gt;
			)&lt;br /&gt;
		then&lt;br /&gt;
			name = ru:lcfirst(currentTitleRoot)&lt;br /&gt;
		else&lt;br /&gt;
			name = currentTitleRoot&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Начинаем собирать код&lt;br /&gt;
	local linkBody, titleObject, linkBegin, linkDivider, linkEnd&lt;br /&gt;
	&lt;br /&gt;
	local prefixes = {}&lt;br /&gt;
	if lang then&lt;br /&gt;
		table.insert(prefixes, lang)&lt;br /&gt;
	end&lt;br /&gt;
	if sister then&lt;br /&gt;
		table.insert(prefixes, sister)&lt;br /&gt;
	end&lt;br /&gt;
	linkBody = table.concat(prefixes, &amp;#039;:&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if #linkBody ~= 0 then&lt;br /&gt;
		linkBody = &amp;#039;:&amp;#039; .. linkBody&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.sub(name, 1, 1) ~= &amp;#039;:&amp;#039; then&lt;br /&gt;
		linkBody = linkBody .. &amp;#039;:&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not global then&lt;br /&gt;
		linkBody = linkBody .. &amp;#039;Template:&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	linkBody = linkBody .. name&lt;br /&gt;
	titleObject = mw.title.new(linkBody)&lt;br /&gt;
	&lt;br /&gt;
	local noLink = noLink or currentTitle == titleObject&lt;br /&gt;
	local takeBracketsInLink = not noLink and&lt;br /&gt;
		mw.ustring.len(name) == 1 and&lt;br /&gt;
		not black and&lt;br /&gt;
		not subst and&lt;br /&gt;
		not podst&lt;br /&gt;
	&lt;br /&gt;
	if not noLink then&lt;br /&gt;
		if not noRedirect or (&lt;br /&gt;
			noRedirect and&lt;br /&gt;
			not lang and&lt;br /&gt;
			not sister and&lt;br /&gt;
			not titleObject.exists&lt;br /&gt;
		) then&lt;br /&gt;
			linkBegin = &amp;#039;[[&amp;#039;&lt;br /&gt;
			linkEnd = &amp;#039;]]&amp;#039;&lt;br /&gt;
			linkDivider = &amp;#039;|&amp;#039;&lt;br /&gt;
		else&lt;br /&gt;
			linkBegin = &amp;#039;[&amp;#039;&lt;br /&gt;
			linkEnd = &amp;#039;]&amp;#039;&lt;br /&gt;
			linkDivider = &amp;#039; &amp;#039;&lt;br /&gt;
			linkBody = titleObject:fullUrl(&amp;#039;redirect=no&amp;#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local text = &amp;#039;&amp;#039;&lt;br /&gt;
	if tag then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;&amp;#039; .. tag .. &amp;#039; class=&amp;quot;templateCallCode&amp;#039;&lt;br /&gt;
		if nobr then&lt;br /&gt;
			text = text .. &amp;#039; nowrap&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		if style then&lt;br /&gt;
			text = text .. &amp;#039; style=&amp;quot;&amp;#039; .. style .. &amp;#039;&amp;quot;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. &amp;#039;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if prefix then&lt;br /&gt;
		text = text .. prefix&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;span class=&amp;quot;wp-templatelink&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	text = text .. &amp;#039;{{&amp;#039;&lt;br /&gt;
	if subst then&lt;br /&gt;
		text = text .. &amp;#039;subst:&amp;#039;&lt;br /&gt;
	elseif podst then&lt;br /&gt;
		text = text .. &amp;#039;подст:&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	if not black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if nav and currentTitle == titleObject then&lt;br /&gt;
		text = text .. &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local commentedLabel&lt;br /&gt;
	if comment then&lt;br /&gt;
		-- https://phabricator.wikimedia.org/T200704&lt;br /&gt;
		-- commentedLabel = mw.getCurrentFrame():expandTemplate({title = &amp;#039;comment&amp;#039;, args = {(text or name), comment}})&lt;br /&gt;
		commentedLabel = &amp;#039;&amp;lt;span class=&amp;quot;commentedText&amp;quot; title=&amp;quot;&amp;#039; .. comment .. &amp;#039;&amp;quot; style=&amp;quot;border-bottom: 1px dotted; cursor: help;&amp;quot;&amp;gt;&amp;#039; ..&lt;br /&gt;
			(textInPlaceOfName or name) ..&lt;br /&gt;
			&amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local label = (commentedLabel or textInPlaceOfName or name)&lt;br /&gt;
	if not noLink then&lt;br /&gt;
		if noRedirect then&lt;br /&gt;
			text = text .. &amp;#039;&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		text = text .. linkBegin .. linkBody .. linkDivider .. label .. linkEnd&lt;br /&gt;
		if noRedirect then&lt;br /&gt;
			text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. label&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if nav and currentTitle == titleObject then&lt;br /&gt;
		text = text .. &amp;#039;\&amp;#039;\&amp;#039;\&amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if optpText then&lt;br /&gt;
		text = text .. optpText&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	text = text .. addParams(args, {&lt;br /&gt;
		spaced = spaced,&lt;br /&gt;
		black = black,&lt;br /&gt;
	})&lt;br /&gt;
	&lt;br /&gt;
	if spaced then&lt;br /&gt;
		text = text .. &amp;#039; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;span class=&amp;quot;wp-templatelink&amp;quot;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	text = text .. &amp;#039;}}&amp;#039;&lt;br /&gt;
	if not black then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;/span&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if postfix then&lt;br /&gt;
		text = text .. postfix&lt;br /&gt;
	end&lt;br /&gt;
	if tag then&lt;br /&gt;
		text = text .. &amp;#039;&amp;lt;/&amp;#039; .. tag .. &amp;#039;&amp;gt;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.onlyParams = makeInvokeFunc(&amp;#039;_onlyParams&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
function p._onlyParams(args)&lt;br /&gt;
	local span = mw.html.create(&amp;#039;span&amp;#039;)&lt;br /&gt;
	span:css( &amp;#039;color&amp;#039;, mw.getCurrentFrame():expandTemplate({ title = &amp;#039;optp/color&amp;#039; }) )&lt;br /&gt;
	&lt;br /&gt;
	local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	span:wikitext(addParams(args, {&lt;br /&gt;
		spaced = yesno(args._spaced, false),&lt;br /&gt;
		black = true,&lt;br /&gt;
	}))&lt;br /&gt;
&lt;br /&gt;
	return tostring(span)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Karaby</name></author>
	</entry>
</feed>