Module:Category

-- Module for various loops used in various templates on the wiki -- Author: KockaAdmiralac -- https://dev.fandom.com/f/p/4400000000000017448/r/4400000000000093348 -- local p = {};

function template_args return mw.getCurrentFrame:getParent.args end

function p.translation(frame) local args = template_args local ret = '' for i, v in ipairs(args) do       ret = ret .. ' '   end return frame:preprocess(ret .. '') end

function p.dots(frame) local args = template_args local ret = '' for i, v in ipairs(args) do       ret = ret .. '' .. ' '    end ret = string.gsub(ret, ' $', '') return ret end

function p.imageschar(frame) local args = template_args local ret = '' for i, v in ipairs(args) do       ret = ret .. '' .. ' '    end ret = string.gsub(ret, ' $', '') return ret end

function p.charcat(frame) local args = template_args local ret = '' for i, v in ipairs(args) do       ret = ret .. '' .. ' '    end ret = string.gsub(ret, ' $', '') return ret end

function p.loop(frame) local args = template_args local cols = frame.args[1] local template = frame.args[2] local ret = '' local data = {} local del = 0 if frame.args[3] then del = tonumber(frame.args[3]) end for i, v in ipairs(args) do       local ind = i - del local index = math.ceil(ind / cols) if ind > 0 then if not(data[index]) then data[index] = {} end data[index][((ind - 1) % cols) + 1] = v       end end for i, v in ipairs(data) do       ret = ret .. '{' .. '{' .. template .. '/element|' for i2, v2 in ipairs(v) do           ret = ret .. mw.text.trim(v2) .. '|'       end ret = ret .. '}}'   end return frame:preprocess(ret) end

return p --