Moduł:Sandbox/Draco flavus/Test12

Z Wikiźródeł, wolnej biblioteki

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

local p={}
function dostosuj(str, address)
	list = { 'FULLPAGENAMEE?', 'PAGENAMEE?', 'BASEPAGENAMEE?', 'ROOTPAGENAMEE?', 'SUBPAGENAMEE?', 'ARTICLEPAGENAMEE?', 'SUBJECTPAGENAMEE?', 'TALKPAGENAMEE?', 'ARTICLESPACEE?', 'SUBJECTSPACEE?', 'TALKSPACEE?', 'NAMESPACEE?', 'NAMESPACENUMBER' }
	for i = 1, #list do
		str = str:gsub('%{%{(' .. list[i] .. ')%}%}', '{{%1:' .. address .. '}}')
	end
	return str
end

function p.main(frame)
	local tekst = mw.title.new(frame.args[1]):getContent()
	return dostosuj(tekst, frame.args[2])
end

function p.wybierz(frame)
    PageContent= mw.title.new(frame.args[1]):getContent()

    local i = 0
    local j = 0
    local k = ""
    local l = ""
    local v = ""
    local t = ""
    p = ''
	i, j =  string.find(PageContent, "%b{}"  )
   	PageResult = " " .. string.sub(PageContent, i, j-2):gsub("[^|]*","",1) .. "|"
   	PageResult = PageResult:gsub("%b{}",
   		function(s1) return string.gsub(s1,"|", "🐉") end)
   	PageResult = PageResult:gsub("%b[]",
   		function(s1) return string.gsub(s1,"|", "🐉") end)
   	-- poniższy usuwa wszystkie argumenty bez kreski, jeśli występuje argument z kreską
   	for m in PageResult:gmatch('| *_[^|]+ *') do
   		r = m:gsub('^| *_([^|=]*)=.*', '| *%1'):gsub(' *$', '') .. ' *= *[^|]*'
   		PageResult = PageResult:gsub(r , '')
   	end
   	-- wszystkie z kreską
   	--PageResult = PageResult:gsub('| *([^ _])' , '| _%1')
   	-- wszystkie bez kreski
   	PageResult = PageResult:gsub('| *_', '| ')
   	return PageResult
end
return p