<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>http://digida.mgpu.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%3AScribunto_clue</id>
	<title>Шаблон:Scribunto clue - История изменений</title>
	<link rel="self" type="application/atom+xml" href="http://digida.mgpu.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%3AScribunto_clue"/>
	<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;action=history"/>
	<updated>2026-05-09T08:20:29Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46441&amp;oldid=prev</id>
		<title>Patarakin в 05:10, 23 апреля 2026</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46441&amp;oldid=prev"/>
		<updated>2026-04-23T05:10:17Z</updated>

		<summary type="html">&lt;p&gt;&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;Версия от 08:10, 23 апреля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Строка 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;На странице: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;На странице: &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/&lt;/ins&gt;nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Вывести аргумент вызова: &amp;lt;nowiki&amp;gt; {{#invoke:...|echo|Привет}}&amp;lt;/nowiki&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Вывести аргумент вызова: &amp;lt;nowiki&amp;gt; {{#invoke:...|echo|Привет}}&amp;lt;/nowiki&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46440&amp;oldid=prev</id>
		<title>Patarakin в 05:08, 23 апреля 2026</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46440&amp;oldid=prev"/>
		<updated>2026-04-23T05:08:55Z</updated>

		<summary type="html">&lt;p&gt;&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;Версия от 08:08, 23 апреля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l167&quot;&gt;Строка 167:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 167:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Вызов: &amp;lt;code&amp;gt;{{#invoke:Fruits|topFruits|url=...|n=5}}&amp;lt;/code&amp;gt;[web:40]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Вызов: &amp;lt;code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;{{#invoke:Fruits|topFruits|url=...|n=5}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;&lt;/ins&gt;&amp;lt;/code&amp;gt;[web:40]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Сформировать mini‑инфобокс по данным страницы (через SMW)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Сформировать mini‑инфобокс по данным страницы (через SMW)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46439&amp;oldid=prev</id>
		<title>Patarakin в 05:05, 23 апреля 2026</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46439&amp;oldid=prev"/>
		<updated>2026-04-23T05:05:38Z</updated>

		<summary type="html">&lt;p&gt;&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;Версия от 08:05, 23 апреля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l14&quot;&gt;Строка 14:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 14:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;На странице: &amp;lt;code&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;На странице: &amp;lt;code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt;{{#invoke:MyModule|hello}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt;&lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Вывести аргумент вызова: &amp;lt;nowiki&amp;gt; {{#invoke:...|echo|Привет}}&amp;lt;/nowiki&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Вывести аргумент вызова: &amp;lt;nowiki&amp;gt; {{#invoke:...|echo|Привет}}&amp;lt;/nowiki&amp;gt;  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46438&amp;oldid=prev</id>
		<title>Patarakin в 05:05, 23 апреля 2026</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46438&amp;oldid=prev"/>
		<updated>2026-04-23T05:05:11Z</updated>

		<summary type="html">&lt;p&gt;&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;Версия от 08:05, 23 апреля 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Строка 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;На странице: &amp;lt;code&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;На странице: &amp;lt;code&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Вывести аргумент вызова: {{#invoke:...|echo|Привет}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Вывести аргумент вызова: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;nowiki&amp;gt; &lt;/ins&gt;{{#invoke:...|echo|Привет}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local p = {}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local p = {}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l43&quot;&gt;Строка 43:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 43:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Использование: &amp;lt;code&amp;gt;{{#invoke:ArgsDemo|listArgs|a=1|b=2}}&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Использование: &amp;lt;code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt; {{#invoke:ArgsDemo|listArgs|a=1|b=2}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt; &lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Доступ к аргументам родительского шаблона (frame:getParent)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Доступ к аргументам родительского шаблона (frame:getParent)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l75&quot;&gt;Строка 75:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 75:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Вызов: &amp;lt;code&amp;gt;{{#invoke:Stats|catSize|Scratch studios}}&amp;lt;/code&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[web:38]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Вызов: &amp;lt;code&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&amp;lt;nowiki&lt;/ins&gt;&amp;gt; {{#invoke:Stats|catSize|Scratch studios}}&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt; &lt;/ins&gt;&amp;lt;/code&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Получить число страниц в пространстве имён (например, Модуль:)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Получить число страниц в пространстве имён (например, Модуль:)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l137&quot;&gt;Строка 137:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 137:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;return p&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[web:40]&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Визуализировать внешние данные в виде списка топ‑N&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| Визуализировать внешние данные в виде списка топ‑N&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
	<entry>
		<id>http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46437&amp;oldid=prev</id>
		<title>Patarakin: Новая страница: «; Подсказки Scribunto Lua {| class=&quot;wikitable&quot; ! task ! realisation |- | Простейший модуль: вернуть фиксированный текст | &lt;syntaxhighlight lang=&quot;Lua&quot; line&gt; local p = {}  function p.hello(frame)   return &quot;Это текст из Lua-модуля&quot; end  return p &lt;/syntaxhighlight&gt; На странице: &lt;code&gt;{{#invoke:MyModule|hello}}&lt;/code&gt; |- | Вывести аргумент вызова: {{#invoke:.....»</title>
		<link rel="alternate" type="text/html" href="http://digida.mgpu.ru/index.php?title=%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Scribunto_clue&amp;diff=46437&amp;oldid=prev"/>
		<updated>2026-04-23T05:01:43Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «; Подсказки &lt;a href=&quot;/index.php/Scribunto&quot; title=&quot;Scribunto&quot;&gt;Scribunto&lt;/a&gt; &lt;a href=&quot;/index.php/Lua&quot; title=&quot;Lua&quot;&gt;Lua&lt;/a&gt; {| class=&amp;quot;wikitable&amp;quot; ! task ! realisation |- | Простейший модуль: вернуть фиксированный текст | &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt; local p = {}  function p.hello(frame)   return &amp;quot;Это текст из Lua-модуля&amp;quot; end  return p &amp;lt;/syntaxhighlight&amp;gt; На странице: &amp;lt;code&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;/code&amp;gt; |- | Вывести аргумент вызова: {{#invoke:.....»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;; Подсказки [[Scribunto]] [[Lua]]&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! task&lt;br /&gt;
! realisation&lt;br /&gt;
|-&lt;br /&gt;
| Простейший модуль: вернуть фиксированный текст&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.hello(frame)&lt;br /&gt;
  return &amp;quot;Это текст из Lua-модуля&amp;quot;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
На странице: &amp;lt;code&amp;gt;{{#invoke:MyModule|hello}}&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Вывести аргумент вызова: {{#invoke:...|echo|Привет}}&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.echo(frame)&lt;br /&gt;
  local text = frame.args[1] or &amp;quot;пусто&amp;quot;&lt;br /&gt;
  return &amp;quot;Вы передали: &amp;quot; .. text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Считать все именованные аргументы и собрать их в [[список]]&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.listArgs(frame)&lt;br /&gt;
  local out = {}&lt;br /&gt;
  for name, value in pairs(frame.args) do&lt;br /&gt;
    table.insert(out, name .. &amp;quot;=&amp;quot; .. value)&lt;br /&gt;
  end&lt;br /&gt;
  table.sort(out)&lt;br /&gt;
  return &amp;quot;* &amp;quot; .. table.concat(out, &amp;quot;\n* &amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Использование: &amp;lt;code&amp;gt;{{#invoke:ArgsDemo|listArgs|a=1|b=2}}&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Доступ к аргументам родительского шаблона (frame:getParent)&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.parentArgs(frame)&lt;br /&gt;
  local parent = frame:getParent()&lt;br /&gt;
  local title = parent:getTitle()&lt;br /&gt;
  local arg1  = parent.args[1] or &amp;quot;(нет)&amp;quot;&lt;br /&gt;
  return &amp;quot;Шаблон: &amp;quot; .. title .. &amp;quot;, арг1=&amp;quot; .. arg1&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Простая статистика по числу страниц в категории&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.catSize(frame)&lt;br /&gt;
  local cat = frame.args[1] or &amp;quot;Scratch studios&amp;quot;&lt;br /&gt;
  local stats = mw.site.stats.pagesInCategory(cat, &amp;quot;*&amp;quot;)&lt;br /&gt;
  -- stats.all, stats.pages, stats.subcats, stats.files&lt;br /&gt;
  return string.format(&lt;br /&gt;
    &amp;quot;В категории &amp;#039;%s&amp;#039;: страниц=%d, подкатегорий=%d, файлов=%d&amp;quot;,&lt;br /&gt;
    cat, stats.pages, stats.subcats, stats.files&lt;br /&gt;
  )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вызов: &amp;lt;code&amp;gt;{{#invoke:Stats|catSize|Scratch studios}}&amp;lt;/code&amp;gt;[web:38]&lt;br /&gt;
|-&lt;br /&gt;
| Получить число страниц в пространстве имён (например, Модуль:)&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.nsCount(frame)&lt;br /&gt;
  local ns = tonumber(frame.args[1]) or 0 -- 828 для Module:&lt;br /&gt;
  local count = mw.site.stats.pagesInNamespace(ns)&lt;br /&gt;
  return &amp;quot;Страниц в пространстве &amp;quot; .. ns .. &amp;quot;: &amp;quot; .. count&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Вывести список страниц категории (через #categorymembers)&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.catPages(frame)&lt;br /&gt;
  local cat = frame.args[1] or &amp;quot;Scratch studios&amp;quot;&lt;br /&gt;
  local t = mw.smw.eval and mw.smw.eval&lt;br /&gt;
  local res = mw.smw.ask(&lt;br /&gt;
    string.format(&amp;quot;[[Category:%s]]|?HasDescription|limit=5&amp;quot;, cat)&lt;br /&gt;
  )&lt;br /&gt;
  if not res then return &amp;quot;Нет данных&amp;quot; end&lt;br /&gt;
  local out = {}&lt;br /&gt;
  for _, row in ipairs(res) do&lt;br /&gt;
    table.insert(out, &amp;quot;* [[&amp;quot; .. row.fulltext .. &amp;quot;]]&amp;quot;)&lt;br /&gt;
  end&lt;br /&gt;
  return table.concat(out, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Пример для SMW-установки с `mw.smw.ask`)[page:1]&lt;br /&gt;
|-&lt;br /&gt;
| Получить внешние данные (CSV) через External Data и показать таблицу&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.showFruits(frame)&lt;br /&gt;
  local data, err = mw.ext.externalData.getExternalData{&lt;br /&gt;
    url   = &amp;quot;https://discoursedb.org/wiki/Special:GetData/Fruits_data&amp;quot;,&lt;br /&gt;
    data  = &amp;quot;name=Name,color=Color,shape=Shape&amp;quot;,&lt;br /&gt;
    format = &amp;quot;CSV with header&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  if err then return &amp;quot;Ошибка: &amp;quot; .. (err or &amp;quot;?&amp;quot;) end&lt;br /&gt;
&lt;br /&gt;
  local rows = {&amp;quot;{| class=\&amp;quot;wikitable\&amp;quot;\n! Name !! Color !! Shape&amp;quot;}&lt;br /&gt;
  for _, row in ipairs(data) do&lt;br /&gt;
    table.insert(rows,&lt;br /&gt;
      string.format(&amp;quot;|-\n| %s || %s || %s&amp;quot;,&lt;br /&gt;
        row.name or &amp;quot;&amp;quot;, row.color or &amp;quot;&amp;quot;, row.shape or &amp;quot;&amp;quot;)&lt;br /&gt;
    )&lt;br /&gt;
  end&lt;br /&gt;
  table.insert(rows, &amp;quot;|}&amp;quot;)&lt;br /&gt;
  return table.concat(rows, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[web:40]&lt;br /&gt;
|-&lt;br /&gt;
| Визуализировать внешние данные в виде списка топ‑N&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.topFruits(frame)&lt;br /&gt;
  local data, err = mw.ext.externalData.getExternalData{&lt;br /&gt;
    url = frame.args.url,&lt;br /&gt;
    data = &amp;quot;name=Name,count=Count&amp;quot;,&lt;br /&gt;
    format = &amp;quot;CSV with header&amp;quot;&lt;br /&gt;
  }&lt;br /&gt;
  if err or not data then return &amp;quot;нет данных&amp;quot; end&lt;br /&gt;
&lt;br /&gt;
  table.sort(data, function(a, b)&lt;br /&gt;
    return tonumber(a.count or 0) &amp;gt; tonumber(b.count or 0)&lt;br /&gt;
  end)&lt;br /&gt;
&lt;br /&gt;
  local n = tonumber(frame.args.n) or 5&lt;br /&gt;
  local out = {}&lt;br /&gt;
  for i = 1, math.min(n, #data) do&lt;br /&gt;
    local row = data[i]&lt;br /&gt;
    table.insert(out,&lt;br /&gt;
      string.format(&amp;quot;* %s — %s&amp;quot;, row.name, row.count)&lt;br /&gt;
    )&lt;br /&gt;
  end&lt;br /&gt;
  return table.concat(out, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вызов: &amp;lt;code&amp;gt;{{#invoke:Fruits|topFruits|url=...|n=5}}&amp;lt;/code&amp;gt;[web:40]&lt;br /&gt;
|-&lt;br /&gt;
| Сформировать mini‑инфобокс по данным страницы (через SMW)&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.infobox(frame)&lt;br /&gt;
  local title = mw.title.getCurrentTitle().prefixedText&lt;br /&gt;
  local res = mw.smw.ask(string.format(&lt;br /&gt;
    &amp;quot;[[%s]]|?Fieldofknowledge|?Inventor|?launch year|limit=1&amp;quot;,&lt;br /&gt;
    title&lt;br /&gt;
  ))&lt;br /&gt;
  if not res or not res[1] then return &amp;quot;&amp;quot; end&lt;br /&gt;
  local row = res[1]&lt;br /&gt;
  local t = {&amp;quot;{| class=\&amp;quot;wikitable\&amp;quot;\n! Свойство !! Значение&amp;quot;}&lt;br /&gt;
  local function add(label, v)&lt;br /&gt;
    if v then&lt;br /&gt;
      table.insert(t, &amp;quot;|-\n| &amp;quot; .. label .. &amp;quot; || &amp;quot; .. v)&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
  add(&amp;quot;Поле знания&amp;quot;, row.Fieldofknowledge)&lt;br /&gt;
  add(&amp;quot;Автор&amp;quot;, row.Inventor)&lt;br /&gt;
  add(&amp;quot;Год запуска&amp;quot;, row[&amp;quot;launch year&amp;quot;])&lt;br /&gt;
  table.insert(t, &amp;quot;|}&amp;quot;)&lt;br /&gt;
  return table.concat(t, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
(Для курсовых объектов на digida с полями SMW)[page:1]&lt;br /&gt;
|-&lt;br /&gt;
| Подсчитать, сколько HowTo‑страниц относится к данному Environment&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.howtoCount(frame)&lt;br /&gt;
  local env = frame.args[1] or &amp;quot;NetLogo&amp;quot;&lt;br /&gt;
  local query = string.format(&lt;br /&gt;
    &amp;quot;[[Category:HowTo]][[Environment::%s]]|limit=500&amp;quot;,&lt;br /&gt;
    env&lt;br /&gt;
  )&lt;br /&gt;
  local res = mw.smw.ask(query) or {}&lt;br /&gt;
  return string.format(&lt;br /&gt;
    &amp;quot;HowTo для среды %s: %d страниц&amp;quot;,&lt;br /&gt;
    env, #res&lt;br /&gt;
  )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Сгенерировать список ссылок на свежие учебные события (Curriculum/Event)&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.events(frame)&lt;br /&gt;
  local res = mw.smw.ask(&lt;br /&gt;
    &amp;quot;[[Category:Event]]|?has start|?Description|sort=has start|order=desc|limit=5&amp;quot;&lt;br /&gt;
  ) or {}&lt;br /&gt;
  local out = {}&lt;br /&gt;
  for _, row in ipairs(res) do&lt;br /&gt;
    local title = row.fulltext&lt;br /&gt;
    local date  = row[&amp;quot;has start&amp;quot;] or &amp;quot;?&amp;quot;&lt;br /&gt;
    local desc  = row.Description or &amp;quot;&amp;quot;&lt;br /&gt;
    table.insert(out,&lt;br /&gt;
      string.format(&amp;quot;* &amp;#039;&amp;#039;&amp;#039;[[%s]]&amp;#039;&amp;#039;&amp;#039; (%s) — %s&amp;quot;, title, date, desc)&lt;br /&gt;
    )&lt;br /&gt;
  end&lt;br /&gt;
  return table.concat(out, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Объединить данные двух запросов SMW (пример «join» в Lua)&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function indexByTitle(rows)&lt;br /&gt;
  local idx = {}&lt;br /&gt;
  for _, r in ipairs(rows or {}) do&lt;br /&gt;
    idx[r.fulltext] = r&lt;br /&gt;
  end&lt;br /&gt;
  return idx&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.mergeToolsAndModels(frame)&lt;br /&gt;
  local tools = mw.smw.ask(&amp;quot;[[Category:DigitalTool]]|?Fieldofknowledge|limit=200&amp;quot;) or {}&lt;br /&gt;
  local models = mw.smw.ask(&amp;quot;[[Category:Model]]|?Fieldofknowledge|limit=200&amp;quot;) or {}&lt;br /&gt;
  local toolsByField  = indexByTitle(tools)&lt;br /&gt;
  local modelsByField = indexByTitle(models)&lt;br /&gt;
&lt;br /&gt;
  local out = {&amp;quot;{| class=\&amp;quot;wikitable\&amp;quot;\n! Объект !! Поле знания&amp;quot;}&lt;br /&gt;
  for title, row in pairs(toolsByField) do&lt;br /&gt;
    table.insert(out, &amp;quot;|-\n| [[ &amp;quot; .. title .. &amp;quot; ]] || &amp;quot; .. (row.Fieldofknowledge or &amp;quot;&amp;quot;))&lt;br /&gt;
  end&lt;br /&gt;
  for title, row in pairs(modelsByField) do&lt;br /&gt;
    table.insert(out, &amp;quot;|-\n| [[ &amp;quot; .. title .. &amp;quot; ]] || &amp;quot; .. (row.Fieldofknowledge or &amp;quot;&amp;quot;))&lt;br /&gt;
  end&lt;br /&gt;
  table.insert(out, &amp;quot;|}&amp;quot;)&lt;br /&gt;
  return table.concat(out, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Простейшая «оценка сложности» кода: посчитать строки в блоке&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.countLines(frame)&lt;br /&gt;
  local code = frame.args[1] or &amp;quot;&amp;quot;&lt;br /&gt;
  local _, n = code:gsub(&amp;quot;\n&amp;quot;, &amp;quot;\n&amp;quot;)&lt;br /&gt;
  return string.format(&amp;quot;Строк кода: %d&amp;quot;, n + 1)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Вызов с nowiki‑блоком или аргументом, куда студент вставляет свой код.&lt;br /&gt;
|-&lt;br /&gt;
| Создать блок с предупреждением/подсветкой для учебного задания&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.warning(frame)&lt;br /&gt;
  local text = frame.args[1] or &amp;quot;Внимательно прочитайте условие!&amp;quot;&lt;br /&gt;
  return string.format(&lt;br /&gt;
    &amp;#039;&amp;lt;div class=&amp;quot;alert alert-warning&amp;quot;&amp;gt;%s&amp;lt;/div&amp;gt;&amp;#039;,&lt;br /&gt;
    text&lt;br /&gt;
  )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Сгенерировать таблицу распределения студентов по темам проектов&lt;br /&gt;
| &amp;lt;syntaxhighlight lang=&amp;quot;Lua&amp;quot; line&amp;gt;&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.topicStats(frame)&lt;br /&gt;
  local res = mw.smw.ask(&lt;br /&gt;
    &amp;quot;[[Category:StudentProject]]|?Topic|limit=500&amp;quot;&lt;br /&gt;
  ) or {}&lt;br /&gt;
  local counts = {}&lt;br /&gt;
  for _, row in ipairs(res) do&lt;br /&gt;
    local t = row.Topic or &amp;quot;Нет темы&amp;quot;&lt;br /&gt;
    counts[t] = (counts[t] or 0) + 1&lt;br /&gt;
  end&lt;br /&gt;
  local out = {&amp;quot;{| class=\&amp;quot;wikitable\&amp;quot;\n! Тема !! Проектов&amp;quot;}&lt;br /&gt;
  for topic, c in pairs(counts) do&lt;br /&gt;
    table.insert(out,&lt;br /&gt;
      string.format(&amp;quot;|-\n| %s || %d&amp;quot;, topic, c)&lt;br /&gt;
    )&lt;br /&gt;
  end&lt;br /&gt;
  table.insert(out, &amp;quot;|}&amp;quot;)&lt;br /&gt;
  return table.concat(out, &amp;quot;\n&amp;quot;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Patarakin</name></author>
	</entry>
</feed>