Przejdź do zawartości

Moduł:Sandbox/Draco flavus/TestFields9

Z Wikiźródeł, wolnej biblioteki

Dokumentacja dla tego modułu może zostać utworzona pod nazwą Moduł:Sandbox/Draco flavus/TestFields9/opis

local p = {}
function p.FindFields2(frame)

-- Wywołanie: {{#invoke: Sandbox/Draco flavus/TestFields9 | FindFields2 | Ostatnia brygada | pattern1 | pattern2| pattern3 | … }}
-- Przeznaczenie znajduje na jakiejś stronie szablon {{:Dane tekstu}} kopiuje go, ale podmienia lub dodaje dodatkowe pola
-- tj. te wymienione w dalszych parametrach (pattern1, pattern2, pattern3 … )
-- Wynik: na nowo ewaluowany szablon {{Dane tekstu}}
-- pola szablonu źródłowego {{Dane tekstu}} nie muszą być w osobnej linii (tak zazwyczaj robimy dla przejrzystości, ale nie jest to wymóg techniczny)
-- Na przykład chcąc zrezygnować z okładki napiszemy | okładka = | strona z okładką =
-- chcąc dodać pole pochodzenie napiszemy | pochodzenie = tutaj skąd pochodzi
-- UWAGA by zapobiec ewaluacji szablonu podawanego jako jeden z argumentów np. inne = {{epub}} należy wstawić pipesign po parze nawiasów
-- a więc inne = {{|epub}}


    local PageResult = ""

    local i = 0
    local j = 0
    local k = ""
    local v = ""

   	for k,v in pairs(frame.args) do
   		if k ~= 1
   		then
			PageResult=PageResult .. k.."  "..v:gsub("^%s+",""):gsub("|","🐉"):gsub("%[","🐖"):gsub("%]","🐙"):gsub("%{","🐟"):gsub("%}","🐠"):gsub("%<","🐪"):gsub("%>","🐨").."  "
			
		end
   	end
   	PageResult=PageResult:gsub("🐉","|"):gsub("🐖","%["):gsub("🐙","%]"):gsub("🐟","%{"):gsub("🐠","%}"):gsub("🐪","%<"):gsub("🐨","%>")
   	return PageResult
end

return p