Kirby Wiki
m (Undo revision 265625 by Fngplg (talk))
m (Undo revision 265627 by Fngplg (talk))
Line 5: Line 5:
   
 
function p.strip(frame)
 
function p.strip(frame)
local file = mw.text.trim(frame.args[1])
+
local file = mw.text.trim(frame.args[1] or '')
local param = frame.args[2]
+
local param = frame.args[2] or ''
local iterator = file:gmatch('%[%[File:[^%|]*|[^%]]+]%]')
+
file = file:gsub('|%d+x?%d*px', '')
  +
:gsub('|alt=.-([|%]])', '%1')
local count = 0
 
local entry = ''
+
:gsub('|link=.-([|%]])', '%1')
  +
:gsub('%[%[[fF]ile:(.-[^%|%]])%]%]', '%1')
local entries = {}
 
for file in iterator do
+
return file
count = count + 1
 
entries[count] = file:sub(8, -9)
 
end
 
for i, v in ipairs(entries) do
 
if count == 1 then
 
entry = v .. ' | ' .. param
 
else
 
entry = entry .. '\n' .. v .. ' | ' .. param .. ' (' .. i .. ')'
 
end
 
end
 
return mw.text.trim(entry)
 
 
end
 
end
   

Revision as of 11:02, 2 February 2018

Documentation for this module may be created at Module:Filestrip/doc

-- <nowiki>
-- Lua module that changes file links in infoboxes
-- to proper infobox gallery items
local p = {}

function p.strip(frame)
    local file = mw.text.trim(frame.args[1] or '')
    local param = frame.args[2] or ''
    file = file:gsub('|%d+x?%d*px', '')
        :gsub('|alt=.-([|%]])', '%1')
        :gsub('|link=.-([|%]])', '%1')
        :gsub('%[%[[fF]ile:(.-[^%|%]])%]%]', '%1')
    return file
end

return p