<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="hu">
	<id>https://wiki.trashforum.org/index.php?action=history&amp;feed=atom&amp;title=Modul%3APath</id>
	<title>Modul:Path - Laptörténet</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.trashforum.org/index.php?action=history&amp;feed=atom&amp;title=Modul%3APath"/>
	<link rel="alternate" type="text/html" href="https://wiki.trashforum.org/index.php?title=Modul:Path&amp;action=history"/>
	<updated>2026-05-06T16:59:01Z</updated>
	<subtitle>Az oldal laptörténete a wikiben</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://wiki.trashforum.org/index.php?title=Modul:Path&amp;diff=2730&amp;oldid=prev</id>
		<title>BarathéGábor: 1 változat importálva</title>
		<link rel="alternate" type="text/html" href="https://wiki.trashforum.org/index.php?title=Modul:Path&amp;diff=2730&amp;oldid=prev"/>
		<updated>2025-01-21T05:36:30Z</updated>

		<summary type="html">&lt;p&gt;1 változat importálva&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;hu&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Régebbi változat&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;A lap 2025. január 21., 07:36-kori változata&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;hu&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(Nincs különbség)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>BarathéGábor</name></author>
	</entry>
	<entry>
		<id>https://wiki.trashforum.org/index.php?title=Modul:Path&amp;diff=2729&amp;oldid=prev</id>
		<title>w&gt;Grufo: Add support for “/” at the beginning of the input</title>
		<link rel="alternate" type="text/html" href="https://wiki.trashforum.org/index.php?title=Modul:Path&amp;diff=2729&amp;oldid=prev"/>
		<updated>2024-09-08T01:21:34Z</updated>

		<summary type="html">&lt;p&gt;Add support for “/” at the beginning of the input&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Új lap&lt;/b&gt;&lt;/p&gt;&lt;div&gt;function split_path (path)&lt;br /&gt;
	local parts = {}&lt;br /&gt;
	local len = 0&lt;br /&gt;
	for token in path:gmatch(&amp;quot;[^/]+&amp;quot;) do&lt;br /&gt;
		len = len + 1&lt;br /&gt;
		parts[len] = token&lt;br /&gt;
	end&lt;br /&gt;
	return parts, len&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function get_abs_path (current, page)&lt;br /&gt;
	local tbl_i, len_i = split_path(page)&lt;br /&gt;
	local tbl_o&lt;br /&gt;
	local len_o&lt;br /&gt;
	if tbl_i[1] == &amp;#039;.&amp;#039; or tbl_i[1] == &amp;#039;..&amp;#039; then&lt;br /&gt;
		tbl_o, len_o = split_path(current)&lt;br /&gt;
	else&lt;br /&gt;
		tbl_i[1] = tbl_i[1]:gsub(&amp;#039;^([^:]?)([^:]*)(:?)(.?)&amp;#039;,&lt;br /&gt;
			function (s1, s2, s3, s4)&lt;br /&gt;
				if s3 == &amp;#039;&amp;#039; then return s1:upper() .. s2 end&lt;br /&gt;
				return s1:upper() .. s2 .. s3 .. s4:upper()&lt;br /&gt;
			end,&lt;br /&gt;
			1&lt;br /&gt;
		)&lt;br /&gt;
		tbl_o = {}&lt;br /&gt;
		len_o = 0&lt;br /&gt;
	end&lt;br /&gt;
	for key, val in ipairs(tbl_i) do&lt;br /&gt;
		if val == &amp;#039;..&amp;#039; then&lt;br /&gt;
			if len_o &amp;lt; 1 then&lt;br /&gt;
				error(&amp;#039;Module:Path: invalid path&amp;#039;, 0) end&lt;br /&gt;
			tbl_o[len_o] = nil&lt;br /&gt;
			len_o = len_o - 1&lt;br /&gt;
		elseif val ~= &amp;#039;.&amp;#039; then&lt;br /&gt;
			len_o = len_o + 1&lt;br /&gt;
			tbl_o[len_o] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if len_o &amp;lt; 1 then&lt;br /&gt;
		tbl_o[1] = &amp;#039;&amp;#039;&lt;br /&gt;
		len_o = 1&lt;br /&gt;
	end&lt;br /&gt;
	return tbl_o, len_o&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function get_rel_path (current, page, add_prefixes)&lt;br /&gt;
	local tbl_i, len_i = get_abs_path(current, page)&lt;br /&gt;
	local tbl_c, len_c = split_path(current)&lt;br /&gt;
	local tbl_o = {}&lt;br /&gt;
	local len_o = 0&lt;br /&gt;
	local minlen&lt;br /&gt;
	local new_at = 0&lt;br /&gt;
	if len_c &amp;lt; len_i then minlen = len_c else minlen = len_i end&lt;br /&gt;
	for idx = 1, minlen do&lt;br /&gt;
		if tbl_c[idx] ~= tbl_i[idx] then&lt;br /&gt;
			new_at = idx&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if new_at == 1 then return table.concat(tbl_i, &amp;#039;/&amp;#039;) end&lt;br /&gt;
	if add_prefixes then&lt;br /&gt;
		if new_at == 0 then&lt;br /&gt;
			tbl_o[1] = &amp;#039;.&amp;#039;&lt;br /&gt;
			new_at = minlen + 1&lt;br /&gt;
		end&lt;br /&gt;
		for idx = new_at, len_c do&lt;br /&gt;
			len_o = len_o + 1&lt;br /&gt;
			tbl_o[len_o] = &amp;#039;..&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		if len_o &amp;lt; 1 then len_o = 1 end&lt;br /&gt;
	elseif new_at == 0 then new_at = minlen + 1 end&lt;br /&gt;
	for idx = new_at, len_i do&lt;br /&gt;
		len_o = len_o + 1&lt;br /&gt;
		tbl_o[len_o] = tbl_i[idx]&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(tbl_o, &amp;#039;/&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local iface = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iface.abs = function (frame)&lt;br /&gt;
	local page = frame.args[1]&lt;br /&gt;
	if page ~= nil then page = page:match&amp;#039;^%s*(.*%S)&amp;#039; end&lt;br /&gt;
	if page == nil then return mw.title.getCurrentTitle().prefixedText end&lt;br /&gt;
	local retval, _ = table.concat(get_abs_path(&lt;br /&gt;
		mw.title.getCurrentTitle().prefixedText,&lt;br /&gt;
		page:gsub(&amp;#039;^%s*/%s*&amp;#039;, &amp;#039;./&amp;#039;, 1)&lt;br /&gt;
	), &amp;#039;/&amp;#039;)&lt;br /&gt;
	return retval&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iface.rel = function (frame)&lt;br /&gt;
	local page = frame.args[1]&lt;br /&gt;
	if page ~= nil then page = page:match&amp;#039;^%s*(.*%S)&amp;#039; end&lt;br /&gt;
	if page == nil then return &amp;#039;.&amp;#039; end&lt;br /&gt;
	return get_rel_path(mw.title.getCurrentTitle().prefixedText,&lt;br /&gt;
		page:gsub(&amp;#039;^%s*/%s*&amp;#039;, &amp;#039;./&amp;#039;, 1), true)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
iface.sub = function (frame)&lt;br /&gt;
	local page = frame.args[1]&lt;br /&gt;
	if page ~= nil then page = page:match&amp;#039;^%s*(.*%S)&amp;#039; end&lt;br /&gt;
	if page == nil then return &amp;#039;&amp;#039; end&lt;br /&gt;
	return get_rel_path(mw.title.getCurrentTitle().prefixedText,&lt;br /&gt;
		page:gsub(&amp;#039;^%s*/%s*&amp;#039;, &amp;#039;./&amp;#039;, 1), false)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
return iface&lt;/div&gt;</summary>
		<author><name>w&gt;Grufo</name></author>
	</entry>
</feed>