m (Test) |
m (23 revisions: Importing templates, modules and categories from Undertale Wiki) |
||
(7 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | -- Module for various loops used in various templates on the wiki |
||
+ | -- Author: KockaAdmiralac |
||
+ | -- <nowiki> |
||
local p = {}; |
local p = {}; |
||
Line 12: | Line 15: | ||
end |
end |
||
return frame:preprocess(ret .. '{{Translation/element}}') |
return frame:preprocess(ret .. '{{Translation/element}}') |
||
+ | end |
||
+ | |||
+ | function p.dots(frame) |
||
+ | local args = template_args() |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | ret = string.gsub(ret, ' • $', '') |
||
⚫ | |||
end |
end |
||
Line 19: | Line 32: | ||
local template = frame.args[2] |
local template = frame.args[2] |
||
local ret = '' |
local ret = '' |
||
+ | local data = {} |
||
⚫ | |||
if frame.args[3] then |
if frame.args[3] then |
||
− | + | del = tonumber(frame.args[3]) |
|
⚫ | |||
− | table.remove(args, 1) |
||
⚫ | |||
⚫ | |||
end |
end |
||
for i, v in ipairs(args) do |
for i, v in ipairs(args) do |
||
− | + | local ind = i - del |
|
+ | local index = math.ceil(ind / cols) |
||
⚫ | |||
+ | if not(data[index]) then |
||
+ | data[index] = {} |
||
+ | end |
||
⚫ | |||
⚫ | |||
end |
end |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | + | for i2, v2 in ipairs(v) do |
|
− | + | ret = ret .. mw.text.trim(v2) .. '|' |
|
− | + | end |
|
− | + | ret = ret .. '}}' |
|
− | + | end |
|
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
− | -- ret = ret .. '}}' |
||
− | --end |
||
⚫ | |||
end |
end |
||
return p |
return p |
||
+ | -- </nowiki> |
Latest revision as of 16:54, 2 July 2017
Documentation for this module may be created at Module:Loops/doc
-- Module for various loops used in various templates on the wiki
-- Author: KockaAdmiralac
-- <nowiki>
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 .. '{{Translation/element|' .. v .. '}} • '
end
return frame:preprocess(ret .. '{{Translation/element}}')
end
function p.dots(frame)
local args = template_args()
local ret = ''
for i, v in ipairs(args) do
ret = ret .. v .. ' • '
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
-- </nowiki>