<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://massarn.com/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ADocumentation</id>
	<title>Модуль:Documentation - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://massarn.com/w/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3ADocumentation"/>
	<link rel="alternate" type="text/html" href="https://massarn.com/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Documentation&amp;action=history"/>
	<updated>2026-10-15T03:46:19Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://massarn.com/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Documentation&amp;diff=2103&amp;oldid=prev</id>
		<title>Buto: Новая страница: «local p = {}  local yesno = require(&#039;Module:Yesno&#039;)  local medal = &#039;медаль&#039; local order = &#039;орден&#039; local insignia = &#039;знак отличия&#039; local badge = &#039;почётный знак&#039; local badge2 = &#039;почетный знак&#039; local title = &#039;звание&#039; --почётное local rank = &#039;звание&#039; --воинское local prize = &#039;премия&#039; local commemorative = &#039;памятный знак&#039; local awardOther = &#039;награда&#039; local awardType...»</title>
		<link rel="alternate" type="text/html" href="https://massarn.com/w/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Documentation&amp;diff=2103&amp;oldid=prev"/>
		<updated>2026-10-12T21:24:55Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «local p = {}  local yesno = require(&amp;#039;Module:Yesno&amp;#039;)  local medal = &amp;#039;медаль&amp;#039; local order = &amp;#039;орден&amp;#039; local insignia = &amp;#039;знак отличия&amp;#039; local badge = &amp;#039;почётный знак&amp;#039; local badge2 = &amp;#039;почетный знак&amp;#039; local title = &amp;#039;звание&amp;#039; --почётное local rank = &amp;#039;звание&amp;#039; --воинское local prize = &amp;#039;премия&amp;#039; local commemorative = &amp;#039;памятный знак&amp;#039; local awardOther = &amp;#039;награда&amp;#039; local awardType...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
local yesno = require(&amp;#039;Module:Yesno&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local medal = &amp;#039;медаль&amp;#039;&lt;br /&gt;
local order = &amp;#039;орден&amp;#039;&lt;br /&gt;
local insignia = &amp;#039;знак отличия&amp;#039;&lt;br /&gt;
local badge = &amp;#039;почётный знак&amp;#039;&lt;br /&gt;
local badge2 = &amp;#039;почетный знак&amp;#039;&lt;br /&gt;
local title = &amp;#039;звание&amp;#039; --почётное&lt;br /&gt;
local rank = &amp;#039;звание&amp;#039; --воинское&lt;br /&gt;
local prize = &amp;#039;премия&amp;#039;&lt;br /&gt;
local commemorative = &amp;#039;памятный знак&amp;#039;&lt;br /&gt;
local awardOther = &amp;#039;награда&amp;#039;&lt;br /&gt;
local awardTypes = {medal, order, insignia, badge, badge2, title, prize, commemorative, awardOther}&lt;br /&gt;
local exampleTitle = &amp;#039;== Пример использования ==\n&amp;#039;&lt;br /&gt;
local namePlaceholder = &amp;#039;Имя и фамилия&amp;#039;&lt;br /&gt;
local textPrefix = &amp;#039;Шаблон предназначен для обозначения людей&amp;#039;&lt;br /&gt;
local orDivisons = &amp;#039; или подразделений&amp;#039;&lt;br /&gt;
local typesTitle = &amp;#039;== Таблица вариантов  ==\n&amp;#039;&lt;br /&gt;
local _type = &amp;#039;тип&amp;#039;&lt;br /&gt;
local note = &amp;#039;примечание&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local function expand(frame, tname, targs)&lt;br /&gt;
	return frame:expandTemplate({title = tname, args = targs})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local parameters = {&lt;br /&gt;
	[&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;Имя&amp;#039;, [&amp;#039;театральный деятель&amp;#039;] = &amp;#039;Имя&amp;#039;, [&amp;#039;священник&amp;#039;] = &amp;#039;Имя&amp;#039;, default = &amp;#039;имя&amp;#039;},&lt;br /&gt;
	[&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;награды и премии&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;, [&amp;#039;священник&amp;#039;] = &amp;#039;Награды&amp;#039;, default = &amp;#039;награды&amp;#039; },&lt;br /&gt;
	[&amp;#039;звание&amp;#039;] = {default = &amp;#039;звание&amp;#039;}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
local function get_param_name(tname, pname) &lt;br /&gt;
	if not parameters[pname] then&lt;br /&gt;
		return pname&lt;br /&gt;
	end&lt;br /&gt;
	return parameters[pname][mw.ustring.lower(tname)] or parameters[pname].default or pname&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function instead_of_link(link) &lt;br /&gt;
	return &amp;#039; [[ТП:Шаблоны-карточки#Медали или награды|Размещается]] вместо ссылки [[&amp;#039; .. link .. &amp;#039;]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function in_param(frame, tname, pname) &lt;br /&gt;
	return &amp;#039; в частности, в графе &amp;#039; .. expand(frame, &amp;#039;para&amp;#039;, {[1]=pname}) .. &amp;#039; шаблона &amp;#039; .. expand(frame, &amp;#039;tl&amp;#039;, {[1]=tname}) .. &amp;#039;.\n\n&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function repeat_whitespace(n)&lt;br /&gt;
	local r = &amp;#039;&amp;#039; &lt;br /&gt;
	for i = 1, n do&lt;br /&gt;
		 r = r .. &amp;#039; &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return r&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function render_example(frame, pageName, tname, paramName, paramTarget, example)&lt;br /&gt;
	local templateResult = expand(frame, tname, {[paramTarget] = example, [paramName] = namePlaceholder})&lt;br /&gt;
	local nameLen = mw.ustring.len(paramName)&lt;br /&gt;
	local targetLen = mw.ustring.len(paramTarget)&lt;br /&gt;
	local maxLen = math.max(nameLen, targetLen)&lt;br /&gt;
	local pre = &amp;#039;&amp;lt;pre&amp;gt;\n{{&amp;#039; .. tname .. &amp;#039;\n|&amp;#039; .. paramName .. repeat_whitespace(3 + maxLen - nameLen) .. &amp;#039;= &amp;#039; .. namePlaceholder .. &amp;#039;\n|&amp;#039;  .. paramTarget .. repeat_whitespace(3 + maxLen - targetLen) ..  &amp;#039;= {{&amp;#039; .. pageName .. &amp;#039;}}\n}}&amp;lt;/pre&amp;gt;&amp;#039;&lt;br /&gt;
	return templateResult .. &amp;#039;\n\n&amp;#039; .. pre&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function template_res_and_pre(frame, pageName, tname, paramName, paramTarget) &lt;br /&gt;
	return render_example(frame, pageName, tname, paramName, paramTarget, expand(frame, pageName))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function cat_link(cat) &lt;br /&gt;
	return &amp;#039;[[:К:&amp;#039; .. cat .. &amp;#039;|&amp;#039; .. cat .. &amp;#039;]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function format_categories(categories)&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	for s in mw.ustring.gmatch(categories, &amp;#039;[^/]+&amp;#039;) do&lt;br /&gt;
		table.insert(cats, cat_link(s))&lt;br /&gt;
	end&lt;br /&gt;
	if #cats == 0 then&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local ret = &amp;#039;Шаблон автоматически добавляет статью в категори&amp;#039;&lt;br /&gt;
	if #cats &amp;gt; 1 then&lt;br /&gt;
		ret = ret ..&amp;#039;и&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		ret = ret .. &amp;#039;ю&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	ret = ret .. &amp;#039; &amp;#039; .. mw.text.listToText(cats) .. &amp;#039;.&amp;#039;&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function starts_with(st, prefix)&lt;br /&gt;
	return mw.ustring.sub(st, 1, mw.ustring.len(prefix)) == prefix&lt;br /&gt;
end&lt;br /&gt;
local function quotate_default(st, quotes)&lt;br /&gt;
	if (quotes == nil or yesno(quotes)) and not starts_with(st, &amp;#039;«&amp;#039;) then&lt;br /&gt;
		return &amp;#039;«&amp;#039; .. st .. &amp;#039;»&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return st&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function get_param_num(args, prefix)&lt;br /&gt;
	local num = 0&lt;br /&gt;
	while args[prefix .. tostring(num+1)] ~= nil do&lt;br /&gt;
		num = num + 1&lt;br /&gt;
	end&lt;br /&gt;
	return num&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function types_table(frame, pageName, args)&lt;br /&gt;
	local t = mw.html.create(&amp;#039;table&amp;#039;):addClass(&amp;#039;wide center&amp;#039;)&lt;br /&gt;
	local headers = t:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	headers:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Код шаблона&amp;lt;br /&amp;gt;(для копирования)&amp;#039;)&lt;br /&gt;
	headers:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Шаблоном отображается&amp;#039;)&lt;br /&gt;
	headers:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Примечание к отображаемому шаблоном&amp;#039;)&lt;br /&gt;
	local varCount = get_param_num(args, _type)&lt;br /&gt;
	local defaultStr = t:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
	defaultStr:tag(&amp;#039;td&amp;#039;):addClass(&amp;#039;nowrap&amp;#039;):wikitext(&amp;#039;{{&amp;#039; .. pageName .. &amp;#039;}}&amp;#039;)&lt;br /&gt;
	defaultStr:tag(&amp;#039;td&amp;#039;):wikitext(expand(frame, pageName, {}))&lt;br /&gt;
	defaultStr:tag(&amp;#039;td&amp;#039;):wikitext(args[note .. &amp;#039;0&amp;#039;])&lt;br /&gt;
	for i = 1, varCount do &lt;br /&gt;
		local varStr = t:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		local istr = tostring(i)&lt;br /&gt;
		local var = args[_type .. istr]&lt;br /&gt;
		varStr:tag(&amp;#039;td&amp;#039;):addClass(&amp;#039;nowrap&amp;#039;):wikitext(&amp;#039;{{&amp;#039; .. pageName .. &amp;#039;|тип=&amp;#039; .. var .. &amp;#039;}}&amp;#039;)&lt;br /&gt;
		varStr:tag(&amp;#039;td&amp;#039;):wikitext(expand(frame, pageName, {[_type]=var}))&lt;br /&gt;
		varStr:tag(&amp;#039;td&amp;#039;):wikitext(args[note .. istr])&lt;br /&gt;
	end&lt;br /&gt;
	return typesTitle .. tostring(t) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function guess_type(pageName)&lt;br /&gt;
	for _, awardType in ipairs(awardTypes) do&lt;br /&gt;
		if starts_with(mw.ustring.lower(pageName), awardType) then&lt;br /&gt;
			return awardType&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 trim_parentheses(str)&lt;br /&gt;
	for s in mw.ustring.gmatch(str, &amp;#039;[^%(]+&amp;#039;) do&lt;br /&gt;
		return s:match(&amp;#039;^%s*(.-)%s*$&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	return str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function trim_type_and_parentheses(pageName)&lt;br /&gt;
	local autoType = guess_type(pageName) &lt;br /&gt;
	if autoType ~= nil then &lt;br /&gt;
		local typeLen = mw.ustring.len(autoType)&lt;br /&gt;
		pageName = mw.ustring.sub(pageName, typeLen + 2, mw.ustring.len(pageName))&lt;br /&gt;
	end&lt;br /&gt;
	return trim_parentheses(pageName)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function get_award_type_text(awardType)&lt;br /&gt;
	if awardType == order then&lt;br /&gt;
		return &amp;#039;, награждённых орденом&amp;#039;&lt;br /&gt;
	elseif awardType == medal then&lt;br /&gt;
		return &amp;#039;, награждённых медалью&amp;#039;&lt;br /&gt;
	elseif awardType == insignia then&lt;br /&gt;
		return &amp;#039;, награждённых знаком отличия&amp;#039;&lt;br /&gt;
	elseif awardType == badge or awardType == badge2 then&lt;br /&gt;
		return &amp;#039;, награждённых почётным знаком&amp;#039;&lt;br /&gt;
	elseif awardType == title then&lt;br /&gt;
		return &amp;#039;, удостоенных звания&amp;#039;&lt;br /&gt;
	elseif awardType == prize then&lt;br /&gt;
		return &amp;#039; — лауреатов премии&amp;#039;&lt;br /&gt;
	elseif awardType == commemorative then&lt;br /&gt;
		return &amp;#039;, награждённых памятным знаком&amp;#039;&lt;br /&gt;
	elseif awardType == awardOther then&lt;br /&gt;
		return &amp;#039;, удостоенных награды&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.print_types_table(frame)&lt;br /&gt;
	local mt = mw.html.create(&amp;#039;table&amp;#039;):addClass(&amp;#039;wikitable&amp;#039;)&lt;br /&gt;
	local headers = mt:tag(&amp;#039;tr&amp;#039;):css(&amp;#039;text-align&amp;#039;, &amp;#039;center&amp;#039;)&lt;br /&gt;
	headers:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Значение параметра&amp;#039;)&lt;br /&gt;
	headers:tag(&amp;#039;th&amp;#039;):wikitext(&amp;#039;Отображаемый текст&amp;#039;)&lt;br /&gt;
	for _, awardType in ipairs(awardTypes) do&lt;br /&gt;
		local row = mt:tag(&amp;#039;tr&amp;#039;)&lt;br /&gt;
		row:tag(&amp;#039;td&amp;#039;):wikitext(expand(frame, &amp;#039;para&amp;#039;, {&amp;#039;тип&amp;#039;, awardType}))&lt;br /&gt;
		row:tag(&amp;#039;td&amp;#039;):wikitext(&amp;#039;…&amp;#039; .. get_award_type_text(awardType))&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(mt)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function _award_base(frame, args, pageName, tname, paramAward)&lt;br /&gt;
	local res = textPrefix&lt;br /&gt;
	if yesno(args[&amp;#039;подразделения&amp;#039;]) then&lt;br /&gt;
		res = res .. orDivisons&lt;br /&gt;
	end&lt;br /&gt;
	local awardType = args[&amp;#039;тип&amp;#039;] or guess_type(pageName) or medal&lt;br /&gt;
	res = res .. get_award_type_text(awardType)&lt;br /&gt;
	if not yesno(args[&amp;#039;без названия&amp;#039;]) then&lt;br /&gt;
		local quotes = args[&amp;#039;кавычки&amp;#039;]&lt;br /&gt;
		local titleString = args[1] or args[&amp;#039;название&amp;#039;] or trim_type_and_parentheses(pageName)&lt;br /&gt;
		res = res .. &amp;#039; &amp;#039; .. quotate_default(titleString, quotes)&lt;br /&gt;
	end&lt;br /&gt;
	res = res .. &amp;#039;.&amp;#039;&lt;br /&gt;
	local link = args[2] or args[&amp;#039;ссылка&amp;#039;] or pageName&lt;br /&gt;
	res = res .. instead_of_link(link) .. &amp;#039;;&amp;#039;&lt;br /&gt;
	local paramAward = get_param_name(tname, &amp;#039;награды&amp;#039;)&lt;br /&gt;
	res = res .. in_param(frame, tname, paramAward)&lt;br /&gt;
&lt;br /&gt;
	local categories = args[&amp;#039;категория&amp;#039;] or args[&amp;#039;категории&amp;#039;]&lt;br /&gt;
	if categories then&lt;br /&gt;
		res = res .. format_categories(categories) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local filename = args[&amp;#039;файл&amp;#039;]&lt;br /&gt;
	if filename then&lt;br /&gt;
		res = res .. &amp;#039;\nВ качестве изображения используется файл [[:Файл:&amp;#039; .. filename .. &amp;#039;|&amp;#039; .. filename .. &amp;#039;]] [[Файл:&amp;#039; .. filename .. &amp;#039;|x17px|link=|alt=]]\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if get_param_num(args, _type) &amp;gt; 0 then&lt;br /&gt;
		res = res .. types_table(frame, pageName, args)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	res = res .. exampleTitle&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.award(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local pageName = mw.title.getCurrentTitle().text&lt;br /&gt;
	local tname = args[&amp;#039;шаблон&amp;#039;] or &amp;#039;Военный деятель&amp;#039;&lt;br /&gt;
	local paramAward = get_param_name(tname, &amp;#039;награды&amp;#039;)&lt;br /&gt;
	local res = _award_base(frame, args, pageName, tname, paramAward)&lt;br /&gt;
	local paramName = get_param_name(tname, &amp;#039;имя&amp;#039;)&lt;br /&gt;
	res = res .. template_res_and_pre(frame, pageName, tname, paramName, paramAward)&lt;br /&gt;
	res = res .. &amp;#039;&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&amp;#039;&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.award_demo(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local pageName = mw.title.getCurrentTitle().text&lt;br /&gt;
	local tname = args[&amp;#039;шаблон&amp;#039;] or &amp;#039;Военный деятель&amp;#039;&lt;br /&gt;
	local paramAward = get_param_name(tname, &amp;#039;награды&amp;#039;)&lt;br /&gt;
	local res = _award_base(frame, args, pageName, tname, paramAward)&lt;br /&gt;
	local paramName = get_param_name(tname, &amp;#039;имя&amp;#039;)&lt;br /&gt;
	local demo = args[&amp;#039;демо&amp;#039;] or args[&amp;#039;demo&amp;#039;]&lt;br /&gt;
	res = res .. render_example(frame, pageName, tname, paramName, paramAward, demo)&lt;br /&gt;
	res = res .. &amp;#039;&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&amp;#039;&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
function p.rank(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
	end&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	local pageName = mw.title.getCurrentTitle().text&lt;br /&gt;
	local rankNameDefault = mw.text.trim(mw.ustring.sub(pageName, (mw.ustring.find(pageName, &amp;#039;,&amp;#039;, 1, true) or 0) +1))&lt;br /&gt;
	local tname = args[&amp;#039;шаблон&amp;#039;] or &amp;#039;Военный деятель&amp;#039;&lt;br /&gt;
	local res = textPrefix&lt;br /&gt;
	local special = yesno(args[&amp;#039;специальное&amp;#039;])&lt;br /&gt;
	res = res .. &amp;#039;, носящих &amp;#039;&lt;br /&gt;
	if special then &lt;br /&gt;
		res = &amp;#039;специальное &amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local rankType = args[&amp;#039;тип&amp;#039;] or &amp;#039;звание&amp;#039;&lt;br /&gt;
	res = res ..  rankType .. &amp;#039; &amp;#039;&lt;br /&gt;
	local rankName = args[1] or args[&amp;#039;звание&amp;#039;] or rankNameDefault&lt;br /&gt;
	local quotes = args[&amp;#039;кавычки&amp;#039;]&lt;br /&gt;
	res = res .. quotate_default(rankName, quotes) .. &amp;#039;.&amp;#039;&lt;br /&gt;
	local link = args[2] or args[&amp;#039;ссылка&amp;#039;] or mw.ustring.lower(rankNameDefault)&lt;br /&gt;
	res = res .. instead_of_link(link) .. &amp;#039;;&amp;#039; &lt;br /&gt;
	local paramRank = get_param_name(tname, &amp;#039;звание&amp;#039;)&lt;br /&gt;
	res = res .. in_param(frame, tname, paramRank)&lt;br /&gt;
&lt;br /&gt;
	local categories = args[&amp;#039;категория&amp;#039;] or args[&amp;#039;категории&amp;#039;]&lt;br /&gt;
	if categories then&lt;br /&gt;
		res = res .. format_categories(categories) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if get_param_num(args, _type) &amp;gt; 0 then&lt;br /&gt;
		res = res .. types_table(frame, pageName, args)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	res = res .. exampleTitle&lt;br /&gt;
	local paramName = get_param_name(tname, &amp;#039;имя&amp;#039;)&lt;br /&gt;
	res = res .. template_res_and_pre(frame, pageName, tname, paramName, paramRank)&lt;br /&gt;
	res = res .. &amp;#039;&amp;lt;br clear=&amp;quot;all&amp;quot; /&amp;gt;&amp;#039;&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function templates_set()&lt;br /&gt;
	local set = {[&amp;#039;военный деятель&amp;#039;] = true}&lt;br /&gt;
	for _, tl in pairs(parameters) do&lt;br /&gt;
		for t, _ in pairs(tl) do&lt;br /&gt;
			if t ~= &amp;#039;default&amp;#039; then&lt;br /&gt;
				set[t] = true&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return set&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.supported_templates(frame)&lt;br /&gt;
	local res = &amp;#039;&amp;#039;&lt;br /&gt;
	local set = templates_set()&lt;br /&gt;
	for tl, _ in pairs(set) do&lt;br /&gt;
		res = res .. &amp;#039;* &amp;#039; .. expand(frame, &amp;#039;tl&amp;#039;, {tl}) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Buto</name></author>
	</entry>
</feed>