Moduł:Sandbox/Draco flavus/TestAllPages

Z Wikiźródeł, wolnej biblioteki

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

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

-- Wywołanie: {{#invoke: Sandbox/Draco flavus/TestAllPages | EvaluateAllPages | Strona:Tadeusz Dołęga-Mostowicz - Ostatnia brygada.djvu}}
-- Wynik: Zgrabna lista stron z początkiem i końcem sekcji.
-- Mogłoby zostać łatwo rozszerzone na inne wyrażenia np. {{c|Rozdział %d+}}

    local SubPageResult = ""
    local SubPageName = ""
    local n = tonumber(1)
    SubPageName=frame.args[1] .. "/" .. n
    while (mw.title.new(SubPageName):getContent() ~= nil) do
    	if (string.match(mw.title.new(SubPageName):getContent(), "%<section [^>]*%>") ~= nil ) then
    		SubPageResult = SubPageResult .. string.char(10) .. string.char(10) .. n .. "◇"
    		for w in  string.gmatch(mw.title.new(SubPageName):getContent(), "%<section [^>]*%>") do
        		SubPageResult = SubPageResult .. w
    		end
    	end
		n=n+1
		SubPageName=frame.args[1] .. "/" .. n
    end
    
	return SubPageResult
end
return p