<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="he">
	<id>https://chabadpedia.co.il/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3A%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA</id>
	<title>יחידה:תבנית חוזרת - היסטוריית גרסאות</title>
	<link rel="self" type="application/atom+xml" href="https://chabadpedia.co.il/index.php?action=history&amp;feed=atom&amp;title=%D7%99%D7%97%D7%99%D7%93%D7%94%3A%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA"/>
	<link rel="alternate" type="text/html" href="https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA&amp;action=history"/>
	<updated>2026-04-15T07:03:10Z</updated>
	<subtitle>היסטוריית הגרסאות של הדף הזה בוויקי</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA&amp;diff=405649&amp;oldid=prev</id>
		<title>חלוקת קונטרסים: https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA</title>
		<link rel="alternate" type="text/html" href="https://chabadpedia.co.il/index.php?title=%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA&amp;diff=405649&amp;oldid=prev"/>
		<updated>2020-09-13T03:14:28Z</updated>

		<summary type="html">&lt;p&gt;https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:%D7%AA%D7%91%D7%A0%D7%99%D7%AA_%D7%97%D7%95%D7%96%D7%A8%D7%AA&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;
function p.parse( frame )&lt;br /&gt;
	local template = frame.args[&amp;#039;תבנית&amp;#039;]&lt;br /&gt;
	local i = 0&lt;br /&gt;
	local req_params = {}&lt;br /&gt;
	-- extract parameters from templat&lt;br /&gt;
	while i~=nil do&lt;br /&gt;
		i = mw.ustring.find( template, &amp;#039;\{\{\{&amp;#039;, i )&lt;br /&gt;
		if i ~= nil then&lt;br /&gt;
			start_ind = i+3&lt;br /&gt;
			i = mw.ustring.find( template, &amp;#039;\}\}\}&amp;#039;, i )&lt;br /&gt;
			param_name = mw.ustring.sub( template, start_ind, i+2 )&lt;br /&gt;
			req_params[param_name] = 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- expand argumetns using the template&lt;br /&gt;
	i=1&lt;br /&gt;
	local found = true&lt;br /&gt;
	local segments = {}&lt;br /&gt;
	local pFrame = frame:getParent()&lt;br /&gt;
	while found do&lt;br /&gt;
		local curr_template = template&lt;br /&gt;
		found = true&lt;br /&gt;
		for k,v in pairs(req_params) do&lt;br /&gt;
			cur_k = mw.ustring.gsub( k, &amp;#039;X}}}&amp;#039;, tostring(i), 1 )&lt;br /&gt;
			if pFrame.args[cur_k]  then &lt;br /&gt;
				local val = pFrame.args[cur_k]&lt;br /&gt;
				local param_name = &amp;#039;\{\{\{&amp;#039;..k&lt;br /&gt;
				local start_ind = mw.ustring.find( curr_template, param_name )&lt;br /&gt;
				curr_template = mw.ustring.sub( curr_template, 0, start_ind-1) .. val .. mw.ustring.sub( curr_template, start_ind+mw.ustring.len( param_name ))&lt;br /&gt;
			elseif k==&amp;#039;?X}}}&amp;#039; then&lt;br /&gt;
					curr_template = mw.ustring.gsub( curr_template, &amp;#039;{{{%?X}}}&amp;#039;, tostring(i)  )&lt;br /&gt;
			else&lt;br /&gt;
				found = false&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if  found then&lt;br /&gt;
			segments[i] = curr_template&lt;br /&gt;
		end&lt;br /&gt;
      	i=i+1&lt;br /&gt;
    end&lt;br /&gt;
    return table.concat( segments, &amp;#039;\n&amp;#039; )&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.invoker( frame )&lt;br /&gt;
	local res = {}&lt;br /&gt;
	local template = frame.args[&amp;#039;תבנית&amp;#039;]&lt;br /&gt;
	local templateParams = {}&lt;br /&gt;
	for k, v in pairs(frame.args) do&lt;br /&gt;
		if k~=&amp;#039;תבנית&amp;#039; then&lt;br /&gt;
			templateParams[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local callerParams = frame:getParent().args&lt;br /&gt;
	local i=0&lt;br /&gt;
	local maxI = 10&lt;br /&gt;
	while i&amp;lt;maxI do&lt;br /&gt;
		mw.logObject(&amp;#039;Extracting params &amp;#039; .. i)&lt;br /&gt;
		local currentArgs = {}&lt;br /&gt;
		for k, v in pairs(templateParams) do&lt;br /&gt;
			if i==0 then&lt;br /&gt;
				if callerParams[v] then&lt;br /&gt;
					currentArgs[k] = callerParams[v]&lt;br /&gt;
				end&lt;br /&gt;
			else&lt;br /&gt;
				if callerParams[v..i] then&lt;br /&gt;
					currentArgs[k] = callerParams[v..i]&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		mw.logObject(&amp;#039;current args&amp;#039;)&lt;br /&gt;
		mw.logObject(currentArgs)&lt;br /&gt;
		if #currentArgs == 0 and i&amp;gt;1 then&lt;br /&gt;
			i = maxI&lt;br /&gt;
		else&lt;br /&gt;
			table.insert(res, frame:expandTemplate{ title = template, args = currentArgs })&lt;br /&gt;
			if i==0 then&lt;br /&gt;
				i=2&lt;br /&gt;
			else&lt;br /&gt;
				i=i+1&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(res, &amp;#039;\n&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p[&amp;#039;חזרה&amp;#039;] = p.parse&lt;br /&gt;
p[&amp;#039;קריאה&amp;#039;] = p.invoker&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>חלוקת קונטרסים</name></author>
	</entry>
</feed>