<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://station14.ru/history/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F?feed=atom</id>
	<title>Модуль:Документация - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://station14.ru/history/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F?feed=atom"/>
	<link rel="alternate" type="text/html" href="https://station14.ru/history/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F"/>
	<updated>2026-04-06T07:29:57Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=69812&amp;oldid=prev</id>
		<title>Pok: Новая страница: «-- from Minecraft Wiki local p = {}  local defaultDocPage = &#039;док&#039;  local getType = function( namespace, page ) 	local pageType = &#039;template&#039; 	if namespace == &#039;Модуль&#039; or namespace == &#039;Module&#039; then 		pageType = &#039;module&#039; 	elseif namespace == &#039;Widget&#039; then 		pageType = &#039;widget&#039; 	elseif page.fullText:gsub( &#039;/&#039; .. defaultDocPage .. &#039;$&#039;, &#039;&#039; ):find( &#039;%.css$&#039; ) then 		pageType = &#039;stylesheet&#039; 	elseif page.fullText:gsub( &#039;/&#039; .. defaultDocPage .. &#039;$&#039;, &#039;&#039; ):find...»</title>
		<link rel="alternate" type="text/html" href="https://station14.ru/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%94%D0%BE%D0%BA%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D0%B0%D1%86%D0%B8%D1%8F&amp;diff=69812&amp;oldid=prev"/>
		<updated>2025-02-18T11:44:52Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «-- from Minecraft Wiki local p = {}  local defaultDocPage = &amp;#039;док&amp;#039;  local getType = function( namespace, page ) 	local pageType = &amp;#039;template&amp;#039; 	if namespace == &amp;#039;Модуль&amp;#039; or namespace == &amp;#039;Module&amp;#039; then 		pageType = &amp;#039;module&amp;#039; 	elseif namespace == &amp;#039;Widget&amp;#039; then 		pageType = &amp;#039;widget&amp;#039; 	elseif page.fullText:gsub( &amp;#039;/&amp;#039; .. defaultDocPage .. &amp;#039;$&amp;#039;, &amp;#039;&amp;#039; ):find( &amp;#039;%.css$&amp;#039; ) then 		pageType = &amp;#039;stylesheet&amp;#039; 	elseif page.fullText:gsub( &amp;#039;/&amp;#039; .. defaultDocPage .. &amp;#039;$&amp;#039;, &amp;#039;&amp;#039; ):find...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- from Minecraft Wiki&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local defaultDocPage = &amp;#039;док&amp;#039;&lt;br /&gt;
&lt;br /&gt;
local getType = function( namespace, page )&lt;br /&gt;
	local pageType = &amp;#039;template&amp;#039;&lt;br /&gt;
	if namespace == &amp;#039;Модуль&amp;#039; or namespace == &amp;#039;Module&amp;#039; then&lt;br /&gt;
		pageType = &amp;#039;module&amp;#039;&lt;br /&gt;
	elseif namespace == &amp;#039;Widget&amp;#039; then&lt;br /&gt;
		pageType = &amp;#039;widget&amp;#039;&lt;br /&gt;
	elseif page.fullText:gsub( &amp;#039;/&amp;#039; .. defaultDocPage .. &amp;#039;$&amp;#039;, &amp;#039;&amp;#039; ):find( &amp;#039;%.css$&amp;#039; ) then&lt;br /&gt;
		pageType = &amp;#039;stylesheet&amp;#039;&lt;br /&gt;
	elseif page.fullText:gsub( &amp;#039;/&amp;#039; .. defaultDocPage .. &amp;#039;$&amp;#039;, &amp;#039;&amp;#039; ):find( &amp;#039;%.js$&amp;#039; ) then&lt;br /&gt;
		pageType = &amp;#039;script&amp;#039;&lt;br /&gt;
	elseif namespace == &amp;#039;MediaWiki&amp;#039; then&lt;br /&gt;
		pageType = &amp;#039;message&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return pageType&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local getTypeForms = function( pageType )&lt;br /&gt;
	if pageType == &amp;#039;module&amp;#039; then&lt;br /&gt;
		return {gen = &amp;#039;этого модуля&amp;#039;, acc = &amp;#039;этот модуль&amp;#039;, pronoun_gen = &amp;quot;его&amp;quot;, nomP = &amp;#039;Модули&amp;#039;}&lt;br /&gt;
	elseif pageType == &amp;#039;widget&amp;#039; then&lt;br /&gt;
		return {gen = &amp;#039;этого виджета&amp;#039;, acc = &amp;#039;этот виджет&amp;#039;, pronoun_gen = &amp;quot;его&amp;quot;, nomP = &amp;#039;Виджеты&amp;#039;}&lt;br /&gt;
	elseif pageType == &amp;#039;stylesheet&amp;#039; then&lt;br /&gt;
		return {gen = &amp;#039;этой таблицы стилей&amp;#039;, acc = &amp;#039;эту таблицу стилей&amp;#039;, pronoun_gen = &amp;quot;её&amp;quot;, nomP = &amp;#039;Таблицы стилей&amp;#039;}&lt;br /&gt;
	elseif pageType == &amp;#039;script&amp;#039; then&lt;br /&gt;
		return {gen = &amp;#039;этого скрипта&amp;#039;, acc = &amp;#039;этот скрипт&amp;#039;, pronoun_gen = &amp;quot;его&amp;quot;, nomP = &amp;#039;Скрипты&amp;#039;}&lt;br /&gt;
	elseif pageType == &amp;#039;message&amp;#039; then&lt;br /&gt;
		return {gen = &amp;#039;этого сообщения&amp;#039;, acc = &amp;#039;это сообщение&amp;#039;, pronoun_gen = &amp;quot;его&amp;quot;, nomP = &amp;#039;Сообщения&amp;#039;}&lt;br /&gt;
	else -- type == &amp;#039;template&amp;#039;&lt;br /&gt;
		return {gen = &amp;#039;этого шаблона&amp;#039;, acc = &amp;#039;этот шаблон&amp;#039;, pronoun_gen = &amp;quot;его&amp;quot;, nomP = &amp;#039;Шаблоны&amp;#039;}&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Creating a documentation page or transclution through {{subst:doc}}&lt;br /&gt;
function p.create( f )&lt;br /&gt;
	local args = require( &amp;#039;Модуль:ProcessArgs&amp;#039; ).norm()&lt;br /&gt;
	local page = mw.title.getCurrentTitle()&lt;br /&gt;
	local docPage = args[&amp;#039;страница&amp;#039;] or page.nsText .. &amp;#039;:&amp;#039; .. page.baseText .. &amp;#039;/&amp;#039; .. defaultDocPage&lt;br /&gt;
	&lt;br /&gt;
	local out&lt;br /&gt;
	if not args[&amp;quot;содержимое&amp;quot;] and tostring( page ) == docPage then&lt;br /&gt;
		out = f:preprocess( &amp;#039;{{subst:Шаблон:Документация/Предзагрузка}}&amp;#039; )&lt;br /&gt;
	else&lt;br /&gt;
		local templateArgs = {}&lt;br /&gt;
		for _, key in ipairs{ &amp;#039;тип&amp;#039;, &amp;#039;страница&amp;#039;, &amp;#039;содержимое&amp;#039; } do&lt;br /&gt;
			local val = args[key]&lt;br /&gt;
			if val then&lt;br /&gt;
				if key == &amp;#039;содержимое&amp;#039; then val = &amp;#039;\n&amp;#039; .. val .. &amp;#039;\n&amp;#039; end&lt;br /&gt;
				table.insert( templateArgs, key .. &amp;#039;=&amp;#039; .. val )&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	&lt;br /&gt;
		out = &amp;#039;{{Документация|&amp;#039; .. table.concat( templateArgs, &amp;#039;|&amp;#039; ) .. &amp;#039;}}&amp;#039;&lt;br /&gt;
		out = out:gsub( &amp;#039;|}}&amp;#039;, &amp;#039;}}&amp;#039; )&lt;br /&gt;
		&lt;br /&gt;
		if not args[&amp;quot;содержимое&amp;quot;] then&lt;br /&gt;
			out = out .. &amp;#039;\n&amp;lt;!-- Размещайте категории/интервики на странице документации --&amp;gt;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not mw.isSubsting() then&lt;br /&gt;
		out = f:preprocess( out )&lt;br /&gt;
		if not args[&amp;#039;некат&amp;#039;] then&lt;br /&gt;
			out = out .. &amp;#039;[[Категория:Страницы с требующими подстановки шаблонами]]&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Header2 on the documentation page&lt;br /&gt;
function p.docPage( f )&lt;br /&gt;
	local args = require( &amp;#039;Модуль:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	local badDoc = args[&amp;#039;плохдок&amp;#039;]&lt;br /&gt;
	local forceNoDoc = args[&amp;#039;нетдок&amp;#039;]&lt;br /&gt;
	&lt;br /&gt;
	local background_color = &amp;quot;#EAF4F9&amp;quot;&lt;br /&gt;
	local docclass = &amp;quot;documentation-norm&amp;quot;&lt;br /&gt;
	if badDoc then&lt;br /&gt;
		background_color = &amp;quot;#F9F2EA&amp;quot;&lt;br /&gt;
		docclass = &amp;quot;documentation-bad&amp;quot;&lt;br /&gt;
	elseif forceNoDoc then&lt;br /&gt;
		background_color = &amp;quot;#F9EAEA&amp;quot;&lt;br /&gt;
		docclass = &amp;quot;documentation-no&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	if forceNoDoc then&lt;br /&gt;
		f:callParserFunction( &amp;#039;#dplvar:set&amp;#039;, &amp;#039;$doc forced_none&amp;#039;, &amp;#039;1&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if f:callParserFunction( &amp;#039;#dplvar&amp;#039;, &amp;#039;$doc noheader&amp;#039; ) == &amp;#039;1&amp;#039; then&lt;br /&gt;
		if badDoc then&lt;br /&gt;
			f:callParserFunction( &amp;#039;#dplvar:set&amp;#039;, &amp;#039;$doc bad&amp;#039;, &amp;#039;1&amp;#039; )&lt;br /&gt;
		end&lt;br /&gt;
		return&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local page = mw.title.getCurrentTitle()&lt;br /&gt;
	local namespace = page.nsText&lt;br /&gt;
	local pageType = mw.ustring.lower( args[&amp;#039;тип&amp;#039;] or getType( namespace, page ) )&lt;br /&gt;
	local typeForms = getTypeForms( pageType )&lt;br /&gt;
&lt;br /&gt;
	local body = mw.html.create( &amp;#039;div&amp;#039; ):addClass( &amp;#039;documentation-header &amp;#039; .. docclass )&lt;br /&gt;
	body&lt;br /&gt;
		:css{&lt;br /&gt;
			[&amp;#039;margin-bottom&amp;#039;] = &amp;#039;0.8em&amp;#039;,&lt;br /&gt;
			padding = &amp;#039;0.8em 1em 0.7em&amp;#039;,&lt;br /&gt;
			[&amp;#039;background-color&amp;#039;] = background_color,&lt;br /&gt;
			border = &amp;#039;1px solid #AAA&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
		:tag( &amp;#039;div&amp;#039; )&lt;br /&gt;
			:css( &amp;#039;float&amp;#039;, &amp;#039;right&amp;#039; )&lt;br /&gt;
			:wikitext( &amp;#039;[[&amp;#039;, page:fullUrl( &amp;#039;action=purge&amp;#039; ), &amp;#039; &amp;#039; .. f:preprocess(&amp;#039;{{lc:{{int:purge}}}}&amp;#039;) .. &amp;#039;]]&amp;#039; )&lt;br /&gt;
		:done()&lt;br /&gt;
		:wikitext(&lt;br /&gt;
			&amp;#039;Эта страница документации, она &amp;#039;,&lt;br /&gt;
			pageType == &amp;#039;module&amp;#039; and &amp;#039;будет&amp;#039; or &amp;#039;должна быть&amp;#039;,&lt;br /&gt;
			&amp;#039; включена в основную страницу. &amp;#039;,&lt;br /&gt;
			&amp;#039;Больше информации на странице [[Шаблон:Документация]].&amp;#039;&lt;br /&gt;
		)&lt;br /&gt;
	if badDoc then&lt;br /&gt;
		body:wikitext( &amp;quot;&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;Документацию &amp;quot; .. typeForms.gen .. &amp;quot; нужно улучшить или дополнить.&amp;#039;&amp;#039;&amp;#039;&amp;quot; )&lt;br /&gt;
	elseif forceNoDoc then&lt;br /&gt;
		body:wikitext( &amp;quot;&amp;lt;br&amp;gt;&amp;#039;&amp;#039;&amp;#039;У &amp;quot; .. typeForms.gen .. &amp;quot; отсутствует документация. Если вы знаете, как использовать &amp;quot; .. typeForms.acc .. &amp;quot;, просьба задокументировать &amp;quot; .. typeForms.pronoun_gen .. &amp;quot;.&amp;#039;&amp;#039;&amp;#039;&amp;quot; )&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if not ( args[&amp;quot;некат&amp;quot;] or namespace == &amp;#039;Участник&amp;#039; ) then&lt;br /&gt;
		body:wikitext( &amp;#039;[[Категория:Страницы документации]]&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return body&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Wrapper around the documentation on the main page&lt;br /&gt;
function p.page( f )&lt;br /&gt;
	-- mw.text.trim uses mw.ustring.gsub, which silently fails on large strings&lt;br /&gt;
	local function trim( s )&lt;br /&gt;
		return (s:gsub( &amp;#039;^[\t\r\n\f ]+&amp;#039;, &amp;#039;&amp;#039; ):gsub( &amp;#039;[\t\r\n\f ]+$&amp;#039;, &amp;#039;&amp;#039; ))&lt;br /&gt;
	end&lt;br /&gt;
	local args = require( &amp;#039;Модуль:ProcessArgs&amp;#039; ).merge( true )&lt;br /&gt;
	local page = mw.title.getCurrentTitle()&lt;br /&gt;
	local namespace = page.nsText&lt;br /&gt;
	local docText = trim( args[&amp;quot;содержимое&amp;quot;] or &amp;#039;&amp;#039; )&lt;br /&gt;
	if docText == &amp;#039;&amp;#039; then docText = nil end&lt;br /&gt;
	&lt;br /&gt;
	local docPage&lt;br /&gt;
	local noDoc&lt;br /&gt;
	local forceNoDoc&lt;br /&gt;
	if docText then&lt;br /&gt;
		docPage = page&lt;br /&gt;
	else&lt;br /&gt;
		docPage = mw.title.new( args[&amp;quot;страница&amp;quot;] or namespace .. &amp;#039;:&amp;#039; .. page.text .. &amp;#039;/&amp;#039; .. defaultDocPage)&lt;br /&gt;
		noDoc = args[&amp;quot;нетдок&amp;quot;] or not docPage.exists&lt;br /&gt;
	end&lt;br /&gt;
	local badDoc = args[&amp;quot;плохдок&amp;quot;]&lt;br /&gt;
	local pageType = mw.ustring.lower( args[&amp;#039;тип&amp;#039;] or getType( namespace, page ) )&lt;br /&gt;
	local typeForms = getTypeForms( pageType )&lt;br /&gt;
	&lt;br /&gt;
	if not docText and not noDoc then&lt;br /&gt;
		f:callParserFunction( &amp;#039;#dplvar:set&amp;#039;, &amp;#039;$doc noheader&amp;#039;, &amp;#039;1&amp;#039; )&lt;br /&gt;
		docText = trim( f:expandTemplate{ title = &amp;#039;:&amp;#039; .. docPage.fullText }  )&lt;br /&gt;
		if f:callParserFunction( &amp;#039;#dplvar&amp;#039;, &amp;#039;$doc bad&amp;#039; ) == &amp;#039;1&amp;#039; then&lt;br /&gt;
			badDoc = 1&lt;br /&gt;
		end&lt;br /&gt;
		forceNoDoc = f:callParserFunction( &amp;#039;#dplvar&amp;#039;, &amp;#039;$doc forced_none&amp;#039; ) == &amp;#039;1&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		if docText == &amp;#039;&amp;#039; and not forceNoDoc then&lt;br /&gt;
			docText = nil&lt;br /&gt;
			noDoc = 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if docText then&lt;br /&gt;
		docText = &amp;#039;\n&amp;#039; .. docText .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local action = f:preprocess(&amp;#039;{{lc:{{int:edit}}}}&amp;#039;)&lt;br /&gt;
	local preload = &amp;#039;&amp;#039;&lt;br /&gt;
	local colour = &amp;#039;EAF4F9&amp;#039;&lt;br /&gt;
	local docclass = &amp;quot;documentation-norm&amp;quot;&lt;br /&gt;
	local message&lt;br /&gt;
	local category&lt;br /&gt;
	if noDoc then&lt;br /&gt;
		action = f:preprocess(&amp;#039;{{lc:{{int:create}}}}&amp;#039;)&lt;br /&gt;
		preload = &amp;#039;&amp;amp;preload=Шаблон:Документация/Предзагрузка&amp;#039;&lt;br /&gt;
		colour = &amp;#039;F9EAEA&amp;#039;&lt;br /&gt;
		docclass = &amp;quot;documentation-no&amp;quot;&lt;br /&gt;
		message = &amp;quot;&amp;#039;&amp;#039;&amp;#039;У &amp;quot; .. typeForms.gen .. &amp;quot; нет документации. &amp;quot; ..&lt;br /&gt;
			&amp;quot;Если вы знаете, как использовать &amp;quot; .. typeForms.acc .. &amp;quot;, пожалуйста, добавьте соответствующую информацию.&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
		if not ( args[&amp;quot;некат&amp;quot;] or namespace == &amp;#039;Участник&amp;#039; or namespace == &amp;#039;Участница&amp;#039; ) then&lt;br /&gt;
			category = typeForms.nomP .. &amp;#039; без документации&amp;#039;&lt;br /&gt;
			if not mw.title.new( &amp;#039;Категория:&amp;#039; .. category ).exists then&lt;br /&gt;
				category = &amp;#039;Страницы без документации&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif forceNoDoc then&lt;br /&gt;
		colour = &amp;#039;F9EAEA&amp;#039;&lt;br /&gt;
		docclass = &amp;quot;documentation-no&amp;quot;&lt;br /&gt;
		message = &amp;quot;&amp;#039;&amp;#039;&amp;#039;У &amp;quot; .. typeForms.gen .. &amp;quot; нет документации. &amp;quot; ..&lt;br /&gt;
			&amp;quot;Если вы знаете, как использовать &amp;quot; .. typeForms.acc .. &amp;quot;, пожалуйста, добавьте соответствующую информацию.&amp;#039;&amp;#039;&amp;#039;&amp;quot;&lt;br /&gt;
		if not ( args[&amp;quot;некат&amp;quot;] or namespace == &amp;#039;Участник&amp;#039; or namespace == &amp;#039;Участница&amp;#039; ) then&lt;br /&gt;
			category = typeForms.nomP .. &amp;#039; без документации&amp;#039;&lt;br /&gt;
			if not mw.title.new( &amp;#039;Категория:&amp;#039; .. category ).exists then&lt;br /&gt;
				category = &amp;#039;Страницы без документации&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	elseif badDoc then&lt;br /&gt;
		colour = &amp;#039;F9F2EA&amp;#039;&lt;br /&gt;
		docclass = &amp;quot;documentation-bad&amp;quot;&lt;br /&gt;
		message = &amp;quot;&amp;#039;&amp;#039;&amp;#039;Документацию &amp;quot; .. typeForms.gen .. &amp;quot; нужно улучшить или дополнить.&amp;#039;&amp;#039;&amp;#039;\n&amp;quot;&lt;br /&gt;
		if not ( args[&amp;quot;некат&amp;quot;] or namespace == &amp;#039;Участник&amp;#039; or namespace == &amp;#039;Участница&amp;#039; ) then&lt;br /&gt;
			category = typeForms.nomP .. &amp;#039; с плохой документацией&amp;#039;&lt;br /&gt;
			if not mw.title.new( &amp;#039;Категория:&amp;#039; .. category ).exists then&lt;br /&gt;
				category = &amp;#039;Страницы с плохой документацией&amp;#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local historyLink =	f:preprocess(&amp;#039;{{lc:{{int:history short}}}}&amp;#039;)&lt;br /&gt;
	local purgeLink =	f:preprocess(&amp;#039;{{lc:{{int:purge}}}}&amp;#039;)&lt;br /&gt;
	local viewLink =	f:preprocess(&amp;#039;{{lc:{{int:view}}}}&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	local links = {&lt;br /&gt;
		&amp;#039;[&amp;#039; .. docPage:fullUrl( &amp;#039;action=edit&amp;#039; .. preload ) .. &amp;#039; &amp;#039; .. action .. &amp;#039;]&amp;#039;,&lt;br /&gt;
		&amp;#039;[&amp;#039; .. docPage:fullUrl( &amp;#039;action=history&amp;#039; ) .. &amp;#039; &amp;#039; .. historyLink .. &amp;#039;]&amp;#039;,&lt;br /&gt;
		&amp;#039;[&amp;#039; .. page:fullUrl( &amp;#039;action=purge&amp;#039; ) .. &amp;#039; &amp;#039; .. purgeLink .. &amp;#039;]&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
	if not noDoc and page ~= docPage then&lt;br /&gt;
		table.insert( links, 1, &amp;#039;[[&amp;#039; .. docPage.fullText .. &amp;#039;|&amp;#039; .. viewLink .. &amp;#039;]]&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	links = mw.html.create( &amp;#039;span&amp;#039; )&lt;br /&gt;
		:css( &amp;#039;float&amp;#039;, &amp;#039;right&amp;#039; )&lt;br /&gt;
		:wikitext( mw.text.nowiki( &amp;#039;[&amp;#039; ), table.concat( links, &amp;#039; | &amp;#039; ), mw.text.nowiki( &amp;#039;]&amp;#039; ) )&lt;br /&gt;
	&lt;br /&gt;
	local body = mw.html.create( &amp;#039;div&amp;#039; ):addClass( &amp;#039;documentation &amp;#039; .. docclass )&lt;br /&gt;
	body:css{&lt;br /&gt;
		[&amp;#039;background-color&amp;#039;] = &amp;#039;#&amp;#039; .. colour,&lt;br /&gt;
		border = &amp;#039;1px solid #AAA&amp;#039;,&lt;br /&gt;
		padding = &amp;#039;0.8em 1em 0.7em&amp;#039;,&lt;br /&gt;
		[&amp;#039;margin-top&amp;#039;] = &amp;#039;1em&amp;#039;,&lt;br /&gt;
		clear = &amp;#039;both&amp;#039;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	local header = mw.html.create( &amp;#039;div&amp;#039; )&lt;br /&gt;
		:addClass( &amp;#039;documentation-header &amp;#039; .. docclass )&lt;br /&gt;
		:css{&lt;br /&gt;
			margin = &amp;#039;-0.8em -1em 0.8em&amp;#039;,&lt;br /&gt;
			padding = &amp;#039;0.8em 1em 0.7em&amp;#039;,&lt;br /&gt;
			[&amp;#039;background-color&amp;#039;] = &amp;#039;#EAF4F9&amp;#039;,&lt;br /&gt;
			[&amp;#039;border-bottom&amp;#039;] = &amp;#039;inherit&amp;#039;&lt;br /&gt;
		}&lt;br /&gt;
	&lt;br /&gt;
	header&lt;br /&gt;
		:node( links )&lt;br /&gt;
		:tag( &amp;#039;span&amp;#039; )&lt;br /&gt;
			:css{&lt;br /&gt;
				[&amp;#039;font-weight&amp;#039;] = &amp;#039;bold&amp;#039;,&lt;br /&gt;
				[&amp;#039;font-size&amp;#039;] = &amp;#039;130%&amp;#039;,&lt;br /&gt;
				[&amp;#039;margin-right&amp;#039;] = &amp;#039;1em&amp;#039;,&lt;br /&gt;
				[&amp;#039;line-height&amp;#039;] = &amp;#039;1&amp;#039;&lt;br /&gt;
			}&lt;br /&gt;
			:wikitext( &amp;#039;Документация&amp;#039; )&lt;br /&gt;
	&lt;br /&gt;
	if not noDoc and pageType ~= &amp;#039;template&amp;#039; and pageType ~= &amp;#039;message&amp;#039; then&lt;br /&gt;
		header&lt;br /&gt;
			:tag( &amp;#039;span&amp;#039; )&lt;br /&gt;
				:css( &amp;#039;white-space&amp;#039;, &amp;#039;nowrap&amp;#039; )&lt;br /&gt;
				:wikitext( &amp;#039;[[#the-code|Перейти к коду ↴]]&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	body&lt;br /&gt;
		:node( header ):done()&lt;br /&gt;
		:wikitext( message )&lt;br /&gt;
		:wikitext( docText )&lt;br /&gt;
	&lt;br /&gt;
	if not noDoc and page ~= docPage then&lt;br /&gt;
		body&lt;br /&gt;
			:tag( &amp;#039;div&amp;#039; )&lt;br /&gt;
				:addClass( &amp;#039;documentation-footer &amp;#039; .. docclass )&lt;br /&gt;
				:css{&lt;br /&gt;
					margin = &amp;#039;0.7em -1em -0.7em&amp;#039;,&lt;br /&gt;
					[&amp;#039;background-color&amp;#039;] = &amp;#039;#EAF4F9&amp;#039;,&lt;br /&gt;
					[&amp;#039;border-top&amp;#039;] = &amp;#039;inherit&amp;#039;,&lt;br /&gt;
					padding = &amp;#039;0.8em 1em 0.7em&amp;#039;,&lt;br /&gt;
					clear = &amp;#039;both&amp;#039;&lt;br /&gt;
				}&lt;br /&gt;
				:node( links )&lt;br /&gt;
				:wikitext( &amp;#039;Расположенная выше документация включена из [[&amp;#039; .. docPage.fullText .. &amp;#039;]].&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if category then&lt;br /&gt;
		body:wikitext( &amp;quot;[[Категория:&amp;quot; .. category .. &amp;quot;]]&amp;quot; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local anchor = &amp;#039;&amp;#039;&lt;br /&gt;
	if not noDoc and pageType ~= &amp;#039;template&amp;#039; and pageType ~= &amp;#039;message&amp;#039; then&lt;br /&gt;
		anchor = mw.html.create( &amp;#039;div&amp;#039; ):attr( &amp;#039;id&amp;#039;, &amp;#039;the-code&amp;#039; )&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return tostring( body ) .. tostring( anchor )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Pok</name></author>
	</entry>
</feed>