<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AReligious_reference</id>
	<title>Модуль:Religious reference - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://vion.tail5ecd76.ts.net/index.php?action=history&amp;feed=atom&amp;title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C%3AReligious_reference"/>
	<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Religious_reference&amp;action=history"/>
	<updated>2026-11-07T21:13:51Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Religious_reference&amp;diff=7261&amp;oldid=prev</id>
		<title>wp&gt;ru.wikipedia: Импорт из русской Википедии, версия 122086630</title>
		<link rel="alternate" type="text/html" href="https://vion.tail5ecd76.ts.net/index.php?title=%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Religious_reference&amp;diff=7261&amp;oldid=prev"/>
		<updated>2022-05-05T00:44:09Z</updated>

		<summary type="html">&lt;p&gt;Импорт из русской Википедии, версия 122086630&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {} -- p stands for package&lt;br /&gt;
&lt;br /&gt;
function linkVerses(verses)&lt;br /&gt;
	local normalized_verses = mw.ustring.gsub(mw.ustring.gsub(verses, &amp;#039;%s&amp;#039;, &amp;#039;&amp;#039;), &amp;#039;[‐‒–—―−]&amp;#039;, &amp;#039;-&amp;#039;)&lt;br /&gt;
	-- hyphen, figure dash, en dash, em dash, horizontal bar and minus to hyphen-minus&lt;br /&gt;
	local raw_blocks = mw.text.split(normalized_verses, &amp;#039;;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
	local linked_blocks = {}&lt;br /&gt;
	for _, raw_block in ipairs(raw_blocks) do&lt;br /&gt;
		local raw_parts = mw.text.split(raw_block, &amp;#039;,&amp;#039;)&lt;br /&gt;
		&lt;br /&gt;
		local linked_parts = {}&lt;br /&gt;
		if mw.ustring.match(raw_block, &amp;#039;:&amp;#039;) then&lt;br /&gt;
			local chapter, verses, chapter_prefix&lt;br /&gt;
			for _, raw_part in ipairs(raw_parts) do&lt;br /&gt;
				-- possible forms of raw_part: 1, 1-2, 1:2, 1:2-3, 1:2-2:3&lt;br /&gt;
				&lt;br /&gt;
				if mw.ustring.match(raw_part, &amp;#039;:&amp;#039;) then&lt;br /&gt;
					chapter, verses = mw.ustring.match(raw_part, &amp;#039;^([0-9]+):(.*)$&amp;#039;)&lt;br /&gt;
					&lt;br /&gt;
					if not chapter then&lt;br /&gt;
						return nil, &amp;#039;недопустимое значение &amp;#039; .. raw_part&lt;br /&gt;
					end&lt;br /&gt;
					&lt;br /&gt;
					--[[&lt;br /&gt;
					if #linked_parts &amp;gt; 0 then&lt;br /&gt;
						table.insert(linked_blocks, linked_parts)&lt;br /&gt;
						linked_parts = {}&lt;br /&gt;
					end&lt;br /&gt;
					]]&lt;br /&gt;
					&lt;br /&gt;
					if mw.ustring.match(verses, &amp;#039;:&amp;#039;) then&lt;br /&gt;
						local chapter1, verse1, chapter2, verse2 =&lt;br /&gt;
							mw.ustring.match(raw_part, &amp;#039;^([0-9]+):([0-9]+)-([0-9]+):([0-9]+)$&amp;#039;)&lt;br /&gt;
						if chapter1 then -- deal with 1:2-2:3&lt;br /&gt;
							table.insert(linked_parts, {chapter1 .. &amp;#039;:&amp;#039; .. verse1, chapter1 .. &amp;#039;:&amp;#039; .. verse1,&lt;br /&gt;
								chapter2 .. &amp;#039;:&amp;#039; .. verse2, chapter2 .. &amp;#039;:&amp;#039; .. verse2})&lt;br /&gt;
						else&lt;br /&gt;
							return nil, &amp;#039;недопустимое значение &amp;#039; .. raw_part&lt;br /&gt;
						end&lt;br /&gt;
						break&lt;br /&gt;
					end&lt;br /&gt;
					chapter_prefix = chapter .. &amp;#039;:&amp;#039;  -- transform 1:2 to 2 and 1:2-3 to 2-3&lt;br /&gt;
				else&lt;br /&gt;
					if chapter == nil then&lt;br /&gt;
						return nil, &amp;#039;перед стихом &amp;#039; .. raw_part .. &amp;#039; не указана глава&amp;#039;&lt;br /&gt;
					end&lt;br /&gt;
					verses = raw_part&lt;br /&gt;
					chapter_prefix = &amp;#039;&amp;#039;&lt;br /&gt;
				end&lt;br /&gt;
					&lt;br /&gt;
				local verse = mw.ustring.match(verses, &amp;#039;^([0-9]+)$&amp;#039;) -- deal with 1 and 1-2, but possibly with prefix&lt;br /&gt;
				if verse then&lt;br /&gt;
					table.insert(linked_parts, {chapter .. &amp;#039;:&amp;#039; .. verse, chapter_prefix .. verse})&lt;br /&gt;
				else&lt;br /&gt;
					local verse1, verse2 = mw.ustring.match(verses, &amp;#039;^([0-9]+)-([0-9]+)$&amp;#039;)&lt;br /&gt;
					if verse1 then&lt;br /&gt;
						if tonumber(verse2) - tonumber(verse1) == 1 then&lt;br /&gt;
							table.insert(linked_parts, {chapter .. &amp;#039;:&amp;#039; .. verse1, chapter_prefix .. verse1})&lt;br /&gt;
							table.insert(linked_parts, {chapter .. &amp;#039;:&amp;#039; .. verse2, verse2})&lt;br /&gt;
						else&lt;br /&gt;
							table.insert(linked_parts, {chapter .. &amp;#039;:&amp;#039; .. verse1, chapter_prefix .. verse1 .. &amp;#039;—&amp;#039; .. verse2})&lt;br /&gt;
						end&lt;br /&gt;
					else&lt;br /&gt;
						return nil, &amp;#039;недопустимое значение &amp;#039; .. raw_part&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			for _, raw_part in ipairs(raw_parts) do&lt;br /&gt;
				local chapter = mw.ustring.match(raw_part, &amp;#039;^[0-9]+$&amp;#039;)&lt;br /&gt;
				if chapter then&lt;br /&gt;
					table.insert(linked_parts, {chapter, chapter})&lt;br /&gt;
				else&lt;br /&gt;
					local chapter1, chapter2 = mw.ustring.match(raw_part, &amp;#039;^([0-9]+)-([0-9]+)$&amp;#039;)&lt;br /&gt;
					if chapter1 then&lt;br /&gt;
						if tonumber(chapter2) - tonumber(chapter1) == 1 then&lt;br /&gt;
							table.insert(linked_parts, {chapter1, chapter1})&lt;br /&gt;
							table.insert(linked_parts, {chapter2, chapter2})&lt;br /&gt;
						else&lt;br /&gt;
							table.insert(linked_parts, {chapter1, chapter1 .. &amp;#039;—&amp;#039; .. chapter2})&lt;br /&gt;
						end&lt;br /&gt;
					else&lt;br /&gt;
						return nil, &amp;#039;недопустимое значение &amp;#039; .. raw_part&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		table.insert(linked_blocks, linked_parts)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return linked_blocks, nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function generateBibleError(text)&lt;br /&gt;
	return &amp;#039;&amp;lt;span class=&amp;quot;error&amp;quot;&amp;gt;Библия: &amp;#039; .. text .. &amp;#039;&amp;lt;/span&amp;gt;[[Категория:Википедия:Страницы с неправильно заполненным шаблоном Библия]]&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function getNotEmpty(args, arg)&lt;br /&gt;
	local val = args[arg]&lt;br /&gt;
	if val == &amp;#039;&amp;#039; then&lt;br /&gt;
		return nil&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.citeBible (frame)&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	&lt;br /&gt;
	local book = getNotEmpty(args, 1)&lt;br /&gt;
	local verses = getNotEmpty(args, 2)&lt;br /&gt;
	local postfix = getNotEmpty(args, 3)&lt;br /&gt;
	local nobook = getNotEmpty(args, &amp;#039;б&amp;#039;) or getNotEmpty(args, &amp;#039;без книги&amp;#039;)&lt;br /&gt;
	local text = getNotEmpty(args, &amp;#039;т&amp;#039;) or getNotEmpty(args, &amp;#039;текст&amp;#039;)&lt;br /&gt;
	&lt;br /&gt;
	if book == nil then&lt;br /&gt;
		return generateBibleError(&amp;#039;отсутствует название книги&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	if verses == nil then&lt;br /&gt;
		return generateBibleError(&amp;#039;отсутствует последовательность стихов&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local wikisource_link = frame:preprocess(&amp;#039;{{Библия/сокращение книги|&amp;#039; .. book .. &amp;#039;|s}}&amp;#039;)&lt;br /&gt;
	if wikisource_link == &amp;#039;&amp;#039; then&lt;br /&gt;
		return generateBibleError(&amp;#039;сокращение &amp;#039; .. book .. &amp;#039; неизвестно, см. [[Шаблон:Библия/сокращение книги|список допустимых]]&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local linked_blocks, error = linkVerses(verses)&lt;br /&gt;
	if error then&lt;br /&gt;
		return generateBibleError(error)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local formatted_blocks = {}&lt;br /&gt;
	local parts_number = 0&lt;br /&gt;
	for _, linked_parts in ipairs(linked_blocks) do&lt;br /&gt;
		local formatted_parts = {}&lt;br /&gt;
		for _, linked_part in ipairs(linked_parts) do&lt;br /&gt;
			if #linked_part == 4 then&lt;br /&gt;
				table.insert(formatted_parts, frame:preprocess(&lt;br /&gt;
					&amp;#039;[[:s:&amp;#039; .. wikisource_link .. &amp;#039;#&amp;#039; .. linked_part[1] .. &amp;#039;|&amp;#039; .. linked_part[2] .. &amp;#039;]] — &amp;#039; .. &lt;br /&gt;
					&amp;#039;[[:s:&amp;#039; .. wikisource_link .. &amp;#039;#&amp;#039; .. linked_part[3] .. &amp;#039;|&amp;#039; .. linked_part[4] .. &amp;#039;]]&amp;#039;&lt;br /&gt;
				))&lt;br /&gt;
			else&lt;br /&gt;
				table.insert(formatted_parts, frame:preprocess(&lt;br /&gt;
					&amp;#039;[[:s:&amp;#039; .. wikisource_link .. &amp;#039;#&amp;#039; .. linked_part[1] .. &amp;#039;|&amp;#039; .. &lt;br /&gt;
					(text or (linked_part[2] .. (postfix or &amp;#039;&amp;#039;))) .. &amp;#039;]]&amp;#039; -- TODO&lt;br /&gt;
				))&lt;br /&gt;
				parts_number = parts_number + 1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(formatted_blocks, table.concat(formatted_parts, &amp;#039;, &amp;#039;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if text ~= nil and text ~= &amp;#039;&amp;#039; and parts_number &amp;gt; 1 then&lt;br /&gt;
		return generateBibleError(&amp;#039;при указании текста допустимо вводить только один стих или одну главу&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if postfix ~= nil and postfix ~= &amp;#039;&amp;#039; and parts_number &amp;gt; 1 then&lt;br /&gt;
		return generateBibleError(&amp;#039;при указании постфикса допустимо вводить только один стих или одну главу&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local res = table.concat(formatted_blocks, &amp;#039;;&amp;#039; .. mw.ustring.char( 0x2002 )) -- EN SPACE&lt;br /&gt;
	&lt;br /&gt;
	-- TODO&lt;br /&gt;
	if postfix ~= nil and postfix ~= &amp;#039;&amp;#039; then&lt;br /&gt;
		res = res .. &amp;#039;[[Категория:Википедия:Страницы с постфиксом в шаблоне Библия]]&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if not text and not nobook then&lt;br /&gt;
		res = frame:preprocess(&lt;br /&gt;
			&amp;#039;[[{{Библия/сокращение книги|&amp;#039; .. book .. &amp;#039;}}|&amp;#039; .. book .. &amp;#039;.]]&amp;amp;nbsp;&amp;#039;&lt;br /&gt;
		) .. res&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wp&gt;ru.wikipedia</name></author>
	</entry>
</feed>